|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
& j; ]/ V5 C% a9 o4 b7 E# X3 U+ \, M! v. G0 b+ J
火狐插件,用猴子
u) O: |) I! C9 _1 P0 e) B* S( f/ |3 v" U/ a3 N
var debug=false; ! ^9 ~. j( Y' u
var CleanHideObj=new CleanHideClass();
3 H; R7 N: N! S E8 C9 T/ r& ]# ?. G- G* {" `6 M" k
function CleanHideClass()
4 _! T+ ^* j9 }4 x; r{ ' c5 I( K- a+ {" r0 @( e
2 z3 x0 L$ C D# n this.on=function(id,bMZ)1 Z4 Q% m5 O, {
{
% T" d" Y, w6 j6 j3 ~" X, c
7 Z1 L& B1 B5 r2 d! a% g+ X5 _ if(id == 0)
: s( j# S; z6 B/ m- C. [% p {4 a8 ?3 _/ E U: Y* r
var page=/* document.getElementById("content").contentDocument */document;
( j4 d6 E. X v6 |! ~( j } this.RemoveHide(page,"span");6 x+ t1 y+ ]9 @) \/ L. p
this.RemoveHide(page,"font");
% l9 e7 L6 G/ f) w: G2 p2 `# h this.RemoveHide(page,"div");
T u+ j; l! B0 U2 B this.RemoveHide(page,"p");
! h. v2 b: E5 Q, q* l( z- b8 i
) d: M$ a" A' i }
' F0 D2 A$ \1 o, H& x. J' b ) z h x/ z) ~0 Y. ?0 O
}6 D: B2 A- r) P4 Z+ j! U; m
this.getobjstyle=function(node,prop)
0 }0 [, G+ w- ~- a9 { i! p* I {
% a& H7 B4 Y. m0 y3 ?* U try
$ X3 i8 C& L6 y" d s# |# f {
# z1 d9 r3 y2 S5 @% m return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
/ P/ c2 n- N/ @ }
1 ~, Y6 X( Z3 [2 Y3 j2 P catch(e)+ {9 |- }! i2 I, G; D- T) p
{
; @+ F; k: d6 n+ x if(debug)! W$ `2 E: o9 u9 Q1 c
{
" ?9 Z/ h$ X9 i& H7 J# F alert(e.message);( c4 S7 Z- D; k, z5 Z; g
}" B. B: o" G9 }
' O7 v' e. _: y/ a! R6 _+ O8 Y return "200";
, Y* v5 l8 b) b: P# m" D }) |- b, J, e. c% r0 M) |0 L/ r8 B
}% O- T& f& b2 z; d/ t) _4 R3 ~7 Q
& k; E3 ]" J. t: Q; p this.RemoveHide=function(page,objname)
2 I+ I3 a# w- K {/ X9 | R/ O! H$ J/ r/ {* _0 O: S
try6 u" \* y- ?$ i. }
{6 l2 b" f% L* A/ ~* p5 i
var minValue=15;4 X: `. H9 L" O1 K- }1 D5 c
var objs=page.getElementsByTagName(objname); $ k0 j/ V& K. _4 E4 m
: Q. w1 B7 Y* D if(objs.length == 0) 9 a& [. q: q( @, r
{
( L2 U9 x0 D* e4 ^: r# i+ t' g! S6 O if(debug)" d6 w& c2 `' G6 N5 K& t. C- T" h1 c
{; j. } W: \7 m0 X0 [* D& r
alert("no object found!:"+objname);( O+ B0 I ?2 n8 }/ @2 W) D/ N
}! G( D+ G; p, M; H7 E9 B
}
6 i" D' ]5 r( | else
& ]5 a# U4 e. Z$ n$ s {
+ Z( e9 H, U6 ?: x9 {- e
8 B" T9 t0 X2 w5 p3 u for(var i=objs.length-1;i>=0;i--)
! F& U4 j: V" b& }$ P3 x4 \) s( ~ {3 O7 S- ^; O% b/ u# Y/ u! {3 O
var node=objs.item(i);
/ h; o ?6 L! B& e/ J/ y$ U* D 7 p% w1 ?! ^2 I" R- {5 G
, V3 N4 s0 P; Z, K if(this.getobjstyle(node,"display") == "none" ||
( G5 W* c2 K+ G! ^+ ~) x* I3 m2 U$ I this.getobjstyle(node,"visibility") =="hidden" ||
+ e- \" o' Y1 }- `& C4 f8 H parseInt(this.getobjstyle(node,"font-size")) == 0) 8 P1 @3 s3 A8 H+ J: {+ U
{
. g0 L! E' i$ u* [" z( z if(debug)5 d& O7 q: L! T! N0 {+ A3 U" o$ o. C
{
$ B! s1 [3 f7 _1 b alert("remove invisiable!");8 J) I4 o, ]* f; k% ?5 E8 o$ }
}
5 v n3 h8 V) q8 q0 \- P( | node.parentNode.removeChild(node);
, \ h; A- j/ ~3 f1 i9 ^ & G; X( z) t% N8 v9 l/ [* D
}$ H" }, P2 K" u$ o
else 4 ]7 t' x- d( f
{) V, U$ E! `+ z4 u3 \& D% B4 m) F
if(node.parentNode) ( p7 j; W. _) a
{6 P" g$ i9 Z/ D4 D5 H3 R. [7 K
var orgNode=node;
8 {7 s9 x- A4 G. _ var orgColor=this.getobjstyle(orgNode,"color")
t' X5 b& B4 e' ~ _$ g var orgRGB=getRGB(orgColor);
: l; |) } Z* k( F! T e 0 |- R$ E8 ~. s
var parentNode=node.parentNode9 q8 Z& Q+ Y# e0 Z0 b3 ?2 S
var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 O3 W0 r$ v& U" `; b 1 C" Q [* s/ [6 A4 y$ C
var isLast=false;
5 h8 n% q# }! j- H$ D7 Y
/ _0 p0 W% R, @ while(parentBgColor == "transparent")
/ o t* }: w, V {4 |( H5 g7 O: ^& Z9 K' z5 K
% d$ A+ ]9 Y( B/ F; S5 Z1 D/ r
4 P+ z- A' p2 ~' k) O& g
if(parentNode.parentNode == null)" K! S z$ w: J& s: Y# T9 \- a
{
- j% x+ E1 Z/ R4 W. O0 v isLast=true;
, z% M0 W% q N- b, @ break;
! v4 F9 ~4 N$ Y0 B9 ] }
( g" W. }$ Q6 N8 m1 \9 ` parentNode=parentNode.parentNode;
# |8 F* O, K9 N; I; ` parentBgColor=this.getobjstyle(parentNode,"background-color");8 x' u% h: e; U- w% k' |, ~
) C) Y$ ? U q( d$ g( H
if(parentBgColor != "transparent")
2 m0 K/ X1 H5 ?( R1 |" K; p, C {* b6 [7 f, e* [9 {
break;
+ N" K% e9 b5 C8 `: r }/ r6 a& G8 J- i6 H x
}
. Y! h9 t5 I. Y. O if(isLast) 9 k+ Q' c6 ]: ~, _
{
: q0 O- ^5 B' j( s if(debug)
8 Q K$ F9 O: V Z$ |& c3 m {/ d+ J. v3 b! r% s6 N$ \
alert("last!!");
2 u/ X6 J( z! L0 g( q6 D6 F }" X0 A( d# O; K5 l2 _
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; g, ^+ R4 y3 }3 j# c2 R5 X" z {
) n& d' T) }2 A8 d orgNode.parentNode.removeChild(orgNode);
" n. H3 M" N! O- C) _' U }
" @" C. t6 I. O. d$ g }, Y/ U4 _5 y4 r% W- ~+ g. `
else
( h( q1 [1 b8 g( a3 [: ^4 r {
4 i$ V' @/ B0 k! k0 B if(debug)/ V" ` J/ q$ _. B! w
{
( n5 A! ^ o0 O0 @) \+ G alert("compare color and parent bgcolor!");: Q! p6 S$ D; t' I2 _
}
5 [: z0 s# z' C t/ B parentBgRGB=getRGB(parentBgColor);
" g7 U1 u/ ?2 D0 T8 I if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))2 V3 `: ^: `7 q
{! ?% R7 Q" Y! Y5 M' A. W! P, s
orgNode.parentNode.removeChild(orgNode);
& I6 h' t8 A6 _0 p4 k }* Y& C9 \& i9 ^4 i
}
# \( g+ k' |0 Z( n }
# L5 B; ]( {/ O/ W- r }' ^+ g6 K7 i# E3 v) W- c7 w
}0 }; _( d+ F: w: N! g% V* C* {
}) ]( s2 \: C _) X# l B' S( B+ r$ V
* M4 A8 p# a7 x7 a4 C2 q% b' O9 I
z5 \- {% y. U% u7 N7 y. ?. G var itemFrames = page.getElementsByTagName("frame");) u9 C s: H! t% j) e& l4 X
var itemiFrames = page.getElementsByTagName("iframe");
" H% S- A* `# L7 A$ B6 ^' r" _1 I + v V7 \6 J" F6 e* c: u2 J7 a8 r W
var frame, iframe;+ i, | z4 n' D
if (itemFrames.length > 0)9 w( d+ Z& F% s
{7 b5 H! M! s1 K4 z; Z+ F; q
for (var i = 0 ; i< itemFrames.length ; i++)
" _- {* V& O; F5 o7 B7 N! |& R {0 Q/ ~3 V4 l; L" R; t' ]: R- J
frame = itemFrames.contentDocument;
% ~6 Y; U. \% X8 [ this.RemoveHide(frame,objname);
/ x' B" ^7 w/ b: g }$ a7 L5 A9 R5 }% s1 ?' a( D
}
: @" h+ P% u/ H5 N& S if (itemiFrames.length > 0)
* t* M) F2 j6 E& t7 d' T: t+ h5 [' J {' p1 s" l& ~' D2 C
for (var i = 0 ; i < itemiFrames.length ; i++)
2 s0 q, a4 c4 O$ h4 |+ n P9 t8 Z {
' ?* s6 v" @% Z8 z iframe = itemiFrames.contentDocument;+ Q9 A, L3 G3 u( ^ ^
this.RemoveHide(iframe,objname);
% [6 I& M+ d) x; {6 j2 X }4 B, ^" b v* Z$ o$ a6 d, E
}
: u3 |' V& n. |. L$ X }
+ B7 U4 i. o) |0 ]3 D: i1 W9 ]/ j6 V catch(e)2 `% c. Q6 [3 X
{, X- N% x1 U4 `6 k/ p
if(debug)
9 ^) v! t. |# P7 y( b0 _# V6 Q: R {
. ?: a. `" t, ?6 }% M: O, _) |6 h alert(e.message);$ Y% M" P& j" T! K, a
} F& K7 t% a. n! ]8 i t
}9 S2 E% \. c' i+ X' y
}5 j5 h) M& H, y1 g
1 q0 v" O( o/ ~7 E" @2 d
}" c/ ]4 S1 ?# c5 {2 G( }
/ C& [: _8 E* q7 v6 u
function getRGB(colorString)
( v0 @* d6 F2 |3 F0 l6 B/ V0 g{/ k2 v$ p6 r6 F' Q
var RGB = new Array;6 }+ U7 |( [0 @) G1 A2 |, q7 S1 j
var tempSting=colorString.substring(4,colorString.length-1);" _3 `5 P: X7 W" H1 ~. z
var tempArray=tempSting.split(",");! s1 u( z9 m) D8 t" Q* }
5 E* x- l) z5 E/ f: Y9 S0 J
RGB[0]=parseInt(tempArray[0]); V) h4 R6 e! I" H3 d$ p* w
RGB[1]=parseInt(tempArray[1]);
3 M% _1 X H' }/ x- W2 _ RGB[2]=parseInt(tempArray[2]);
$ y/ {( [: Y" j) S/ c. ]) d
2 H. i7 t" `) E return RGB;: b: `4 z) a8 t7 F0 q; L
}. P( e1 i: H6 F" O
function keys(evt) # N( R3 B# Y+ J% Q
{
7 m2 Q) z& b7 n& } b if(evt.ctrlKey && evt.keyCode=="81") 4 c: C2 S1 }" v8 P
{
4 Y) u. `7 k5 F$ N- n: B/ b" X7 L5 p CleanHideObj.on(0,1);5 W7 I$ K! P. i4 j
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 6 \+ ^6 B" c1 ?; i8 X: F
. q; x5 a! e8 E5 ?* l }
+ [% \7 X, S$ b6 n q; ], ? } # N( Z4 P/ p: V1 H
document.addEventListener('keydown', keys, false);
& w ?) A; X$ Y% c2 U& yGM_registerMenuCommand ('Clean Hide',; t. T' A+ [/ Z) e7 U" L2 h5 z( `
function(e){7 R7 k+ Y3 C# Y" x& A( f
CleanHideObj.on(0,1)
. \ P7 C, H4 s8 _/ ]alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, J5 r$ p9 g3 \- r* P( X6 V7 w
});+ K9 [% h9 O* O. C! a% ~: d
|
评分
-
查看全部评分
|