|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & g: _# e+ K [) Q8 V4 N5 Y
. ~# Z7 G* l1 }: _* d. s
火狐插件,用猴子/ ]. H- g' ^4 n
2 S( I2 E# T1 ~" }0 q
var debug=false;
( i) T; w5 w, x( `; Evar CleanHideObj=new CleanHideClass();
# r$ K% D5 Y5 h1 i6 @: O6 S% r
- q1 T# ~, F* k# t2 Xfunction CleanHideClass()
- F1 {- }1 J; N4 I0 [{ , @( ~4 g) k: V# u; K' p2 j# [3 Q) e
1 h8 F- t* V% q; ?' b3 { this.on=function(id,bMZ)
) v4 g4 A% {. n F' O {5 h) h( z/ `+ t5 C9 s
! [6 p! A( H; ]: i if(id == 0)& T* D) b* q4 U1 Y6 T2 I, X1 C0 ^
{
, z: Y0 v Q, q: y* s% S var page=/* document.getElementById("content").contentDocument */document; : N7 @% o& u: M: F8 e3 e$ p
this.RemoveHide(page,"span");( W* N# s6 R3 _, v; ?
this.RemoveHide(page,"font");6 H! _: U1 I8 Y! M% Q
this.RemoveHide(page,"div");
. a' E% |7 D4 t! Z( C& u1 ~2 T this.RemoveHide(page,"p");
7 p a& j) n- g! f/ C$ | 6 N [4 _1 a. \0 f
}
" ^) s: [0 \! `8 V9 e9 T8 c- i
, k: D4 Y- o! u/ y- G# r, z0 U }6 N3 G: E% n3 R$ c
this.getobjstyle=function(node,prop)
* q' K1 E ^( o# l8 R" z8 L& ~ {9 e$ U. r) z3 |
try
5 Y- }7 E; ]! M/ f( Z# ?5 k( s4 f {& |- G% a4 h0 H/ D, v+ z! F4 H
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);+ ]4 m( F. y3 ^9 Q1 \6 \! n! u6 L- `
}! ?' n _1 o# b& O/ u' c
catch(e)
8 |" a3 y G4 X7 Y |; u& N; Q {' z! s$ A* F/ w# L0 d. m+ R
if(debug)
% O% P) I7 v0 M0 f8 v- [5 f( w {
4 `& r. G5 e; u; l9 A alert(e.message);0 b+ {' H: T& }% C& B# I; c( C
}- S6 W; S5 V" P2 h- P
2 A8 \7 x8 [* X" ]+ w3 D* D2 O) b
return "200";/ o+ O) }8 x! `8 m) `
}+ g1 T# A- s/ r( ~
}
# @ \1 D8 A7 E P7 Y) }: l
+ Y& b7 l% q; R6 z* Q- r, g this.RemoveHide=function(page,objname)% }! U: U4 F* f5 G5 v& c
{
1 I2 r! L @: L) }1 U" A try
& Q2 ]; @, U2 p0 Z2 I {# K x1 D5 i% U& k$ Q
var minValue=15;, f/ U$ ?9 \9 _0 t2 t4 V
var objs=page.getElementsByTagName(objname); ' w+ N) W9 {: W4 m/ J+ q! f
# y; p5 b' r# f. B @, H2 |
if(objs.length == 0) 7 f q* a/ e1 T9 h$ {- ]9 j
{8 }3 F# c8 h1 a
if(debug)1 K% x( w: |# S" L. n# x* H
{3 e! t2 t; D, d) p
alert("no object found!:"+objname);
( V5 i, j$ R$ I# h# P* w+ x }
3 H* V" f5 T) Z2 `9 ^0 R/ r( | }
3 h* [3 g! o$ P h else2 ^+ B' D' R4 l/ A1 S8 h
{% f9 G& F0 b: E6 h1 s8 w6 g8 ~
, X' l8 p3 A* _) m for(var i=objs.length-1;i>=0;i--) ) D0 [& ^2 f7 O' @' U0 |
{
- v d! p: H# z. ^9 c var node=objs.item(i); , H" _1 d: H9 A9 E/ }
+ L4 o: y; u; K: s ' N! n- e* g) n7 s. N& t( h/ M
if(this.getobjstyle(node,"display") == "none" ||5 Q" P' P- o; V8 H9 {( X3 g
this.getobjstyle(node,"visibility") =="hidden" ||. f0 V0 {) z+ t- z. [
parseInt(this.getobjstyle(node,"font-size")) == 0)
: g) F3 f; Z: d$ d( ?: f0 Y! M {
' X! j7 X% {1 j( D' O0 v6 } if(debug)
& v8 t7 a U7 T9 H {
& @% P0 M9 P( ~. z alert("remove invisiable!");
' o. v0 E, _1 K6 Y }
7 O( {* u$ `' N node.parentNode.removeChild(node);
! F( @! g5 H2 K4 z3 u 6 o+ e8 |* u# H( x/ f: D
}( C! a4 i2 a" P; r
else ) u+ \7 D+ C4 ^0 T
{: Q$ G$ H1 [. q* Q/ }, t
if(node.parentNode) ' m/ D9 F: {6 ?7 E) w
{
' q5 y) z% ^5 j4 K- h var orgNode=node;
4 K1 o/ H; u7 [% X' Q var orgColor=this.getobjstyle(orgNode,"color")
- \9 N q! `% _( p$ ^0 L1 U" ?% l var orgRGB=getRGB(orgColor); 0 y3 @3 ^6 ^, H5 T
0 O9 ?$ h8 Z; P+ H3 A var parentNode=node.parentNode" s$ A! D5 y% V
var parentBgColor=this.getobjstyle(parentNode,"background-color");6 K0 w$ {7 P Q6 e
) B. t3 n& i0 A8 s" D% _( D var isLast=false;( o' y/ F0 I& O( |" E4 {
`) i, [5 D8 w
while(parentBgColor == "transparent")
* Q1 m. T8 r& g: p2 ?! ?" u {
T o$ l+ h* Y+ ^7 I& H. z
- _9 o! `6 }+ S 6 t" ?, o. G, e9 }( q6 ]
if(parentNode.parentNode == null)' N+ @ L- [6 g. e5 e/ a4 w% q
{! b6 B! u. i& D% m
isLast=true;
. P0 Q' r4 V& k' B0 e9 M* B break;1 g" C) G/ j$ D& R8 j9 m9 V
}+ I/ |" |" n* A7 e' c9 l# z
parentNode=parentNode.parentNode;
1 C# @7 [( w1 e/ U parentBgColor=this.getobjstyle(parentNode,"background-color");
/ c! y/ q, x7 x
# V1 S# ]) R2 P# { if(parentBgColor != "transparent") 9 V" S7 u. v$ ~
{
5 B# Y( l8 t# g4 }* X) T break;! b9 L0 g8 P) `/ M
}
) A& v f6 h9 S9 w' j$ G }( A8 X [, g9 g0 r. i( e
if(isLast)
9 }/ p4 ^0 f' s8 k! d1 M, D0 `. O {
/ I1 N" d1 o5 n/ y, _) R/ Z if(debug)0 i* j* a) |/ a2 I
{& h4 b8 V2 z5 O6 | Q
alert("last!!");* M, r2 X" ~3 j8 p. t6 X
}
. h m: }3 {$ T) h if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
$ @& A6 E- X( f) {" w4 J' d& S6 g8 T {) Y3 ?% D2 y: R2 U( l1 s6 v# f
orgNode.parentNode.removeChild(orgNode); # a! {7 v. }1 m, a7 @6 N
}( D: M# S5 q+ u' ] e$ P' e
}
! @. A1 S3 B" E% y. u8 ]$ x8 a else* \5 J/ A. Y2 G( }* i# a" }3 A
{5 X% t7 {8 t( H0 ~8 n
if(debug)
7 r' _/ v1 D! }5 ?/ c {! s4 `$ y9 J( e" _7 N3 S0 Z
alert("compare color and parent bgcolor!");3 v5 B9 @8 t9 d# \7 e) L
}2 D, `* r/ L/ ]+ g
parentBgRGB=getRGB(parentBgColor);; \: ~8 x- i% D
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))* H4 I; A6 N6 t" Y; j
{
3 k2 T' L$ i9 q. l orgNode.parentNode.removeChild(orgNode);
' v7 Q* ^- S. _' t3 N1 ` }
. D* _) _, m+ j) p; c j }$ V3 K" p3 i9 w z+ Q# I
}
7 s; r F0 \; M# @5 G }" f* g% P, ^6 _7 L4 _
}
; I# k: ^6 U9 ?0 s( Z }
) `5 [& p4 b c0 e
) P1 |. j+ A |3 l9 v
- e. |" r* k, d: ~- W var itemFrames = page.getElementsByTagName("frame");
3 v* u, y# S! D- {0 g; T5 r- ^ var itemiFrames = page.getElementsByTagName("iframe");* ]6 |5 {" z9 b$ P' G s4 o4 k
, s u) T; j* e X. s var frame, iframe;
% u! y8 r8 \% W; Q# i if (itemFrames.length > 0)8 E: U* ~& D' }4 d8 n
{
) S# W. Q% M9 ], J( k for (var i = 0 ; i< itemFrames.length ; i++)
( Q5 [' L, O! F1 j" p {! _- O: R+ W' V* Z% @$ }+ V
frame = itemFrames.contentDocument;
, G8 B; _0 L. F) W u this.RemoveHide(frame,objname);
9 E/ S3 i; H: A" r' M3 p2 ~5 O }
& q) g) h* P' w# q }2 V& G0 B* u8 k( l4 P! J
if (itemiFrames.length > 0)7 y- |0 g( n+ |" [. u; [ g& }0 R
{/ d' T( u2 Z% g' E
for (var i = 0 ; i < itemiFrames.length ; i++)
( Q5 t& I, t- O5 }" s/ l: U9 V {
+ F$ g, K, q9 k `+ J, h0 s iframe = itemiFrames.contentDocument;. }0 B" o. ~( i! P5 u
this.RemoveHide(iframe,objname); / k; ]$ g& R5 _# W( p0 d% l
}" x$ g: C8 u! L% y: e; v0 ^
}5 R2 I/ o8 R6 Y, f) j6 W
}( z% x5 |, ]# [ h8 o# X* ~* A7 \
catch(e)6 [$ I$ y( h6 a$ ^3 i% K2 i0 V" i( x
{6 Z, j ]+ I+ I: l2 Y3 s$ X2 m
if(debug)
2 l( r8 W: w& E$ ~) Z% v {3 m( Y( Z9 n2 _
alert(e.message);
* n+ [ T# X/ {4 ^! l: Q }
1 @0 ^$ i% g3 Z. R }4 c) y# O: \$ n: V
}1 p6 f& [0 m- Q9 `$ P
1 r2 M% x: L5 x* u& [
}
9 ]# {" v# J$ Q6 Q* y" R% Q
5 [# ]7 t$ u! ffunction getRGB(colorString)( _' ~+ }: B/ n1 N# ?/ x0 ]& E
{* ]# E# y9 [+ C* B
var RGB = new Array;
+ t% N t p, Q, ^: C var tempSting=colorString.substring(4,colorString.length-1);
3 \' h( {5 X" Z9 J B: m' [ var tempArray=tempSting.split(",");
, z& L/ M% C2 m* ?, V0 Z3 n: e/ q
RGB[0]=parseInt(tempArray[0]);
/ A0 h" p) c0 v" t RGB[1]=parseInt(tempArray[1]);
) G" W7 B1 l8 w7 \$ D% Y: B8 k RGB[2]=parseInt(tempArray[2]);
* ^7 Y: h5 A, x8 a 9 w& J! @9 S- |
return RGB;
; R5 ]9 u7 ?* A" ^}
5 |* G: D, b' w* d& H- ffunction keys(evt)
9 b& |4 k! g8 T- g7 k. p { 2 | v, v) ^) G3 _4 N! _% w
if(evt.ctrlKey && evt.keyCode=="81")
* V6 F# u' n* m, L {
5 |* K: y1 L3 ]8 ?5 p CleanHideObj.on(0,1);
4 s/ p& a, E& u( j4 z alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ; I" E7 y1 U/ o7 r6 s9 \
& Z! _' i/ [7 z, k/ Q+ k% p
} . F/ @' I) w6 w& h8 ]
} 5 F( X0 w2 Y5 M9 R8 t1 Y
document.addEventListener('keydown', keys, false); 1 A- m: a$ A- Z' T: H: k7 U
GM_registerMenuCommand ('Clean Hide',7 _' O c: m7 g1 E# N N# I/ \
function(e){
+ N0 B5 f+ q6 u( j! j( lCleanHideObj.on(0,1)5 \1 y J; y: Z8 P+ q2 T4 d0 C
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
h* ^( r$ \3 p% p. n5 H" t) e" e) g});
1 g0 r3 y0 s! [: L1 R |
评分
-
查看全部评分
|