|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 8 J2 a; p/ y" k6 B8 r c
; q) B/ T& Z& j9 `( Y
火狐插件,用猴子
1 e W4 w. J6 j3 b4 {. `5 T, J" M3 A
' M! z, t7 q; j7 e: x4 c6 E- q# Svar debug=false;
! }: v$ O3 ?5 s' H4 T" `var CleanHideObj=new CleanHideClass();
* w) i& d* t: M1 H& t$ c, a. G3 I: v
function CleanHideClass() ! O1 d9 h; e1 |5 `" ?3 p; U. z) |
{
) C& u. D0 r: F5 O
/ V! w$ `2 Z ?1 `. V this.on=function(id,bMZ); {% g. x8 j0 N+ B- Z
{2 n& `" t6 C& I3 e7 ]& F% ?4 K
3 w" }# l0 V9 L5 Q6 M
if(id == 0)
! ^4 `7 g, m4 U* O {7 e! B3 o' X& r* S
var page=/* document.getElementById("content").contentDocument */document;
9 ~2 c7 I9 T2 n) l7 Y this.RemoveHide(page,"span");3 D8 g: h: V) P
this.RemoveHide(page,"font");3 E4 {9 {$ F" {1 G& ?& K" j, ]. |& G
this.RemoveHide(page,"div");
' e* a7 s- g2 m* v3 v2 { this.RemoveHide(page,"p");
6 T( e* `1 ?+ h' ]: ~* B7 F
. f* y* G& [3 L9 S) v }- G0 ?8 a. j! s. W
* J6 A& a( l% u- r6 W: o) ]1 {9 p
}
$ I1 g; g& Q1 C, f+ }0 w5 _: T" x& N this.getobjstyle=function(node,prop)3 V. h1 s0 Z" \3 {( C" v! ^
{5 [) p, h, ^1 r& P& N* Z* i9 D
try: x: G+ b& Z/ n8 R0 X9 _
{
, Q+ O7 Q4 E3 j return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
1 L5 J l9 K' I! g, ~ S+ @ }: Q1 O& ]- F( D$ N: L, i
catch(e); X9 _& a% z- T& Z0 X i- ~' P
{
8 n! Y8 J, _0 ?# b4 o if(debug)+ |* N1 T' Q& y7 I1 a' I
{
- U9 O6 S7 }3 P6 j alert(e.message);
+ j* B2 N+ J j% W+ ? }; o4 i" f8 G; d/ f @$ a0 H$ y
# a1 @: i. E4 z* K
return "200";$ J7 l# }$ ~( @0 R+ {+ ?
}8 r( `! g. n/ |) e' T9 M9 x
}) b2 `# |3 A G8 |
5 O o+ c; o, K6 r6 i7 d
this.RemoveHide=function(page,objname)
( t5 @0 v) ~; R5 L" O. H {5 e9 y |9 J T% Y! h2 r8 w. Y
try7 o) O7 F( i& b' u) U
{
, L+ W3 U" w1 L" I var minValue=15;
' K( T6 D3 R# f; S! n7 V var objs=page.getElementsByTagName(objname); " u7 C( q7 R- C% `* ^' ^8 e
& S. b% |, F, J/ V$ J$ r* g1 {' P
if(objs.length == 0)
7 W- x, u/ o7 E4 O6 z {
& \' J* Z9 A: X9 R if(debug); ?, ^8 ~9 V( r# W* K/ W
{2 x b' ?$ @: V
alert("no object found!:"+objname);. \2 z" n+ F1 ~3 ?" K; J* e2 b
}/ ^; y7 o. h- \3 p
}
# s& L. J" K, t. s else; _$ D8 |2 F- u O
{
, _- |' |! d% y- [: }( h
3 R" Z) u5 t& a* R4 @* ^7 n for(var i=objs.length-1;i>=0;i--)
$ @& N1 o- h$ M3 O- y {
" u% i2 n0 ^/ ~* h9 p var node=objs.item(i); ( Q( ]# c/ Z- A7 O2 Q8 |
0 @4 ~1 P* }# Z) B% m+ g
" X4 ]4 D) s' k9 O1 ^( h if(this.getobjstyle(node,"display") == "none" ||6 n! t+ k1 S" v2 P3 p E# I
this.getobjstyle(node,"visibility") =="hidden" ||
4 ^, c8 Y4 H8 l% }- y7 U! u A parseInt(this.getobjstyle(node,"font-size")) == 0) " T9 r( x8 B T# U
{+ k2 F1 u4 W+ f/ V
if(debug)
1 X0 n2 P+ s* M9 v! b$ [ _ {
: } T1 B) Y; {, P$ a4 q7 T8 r. y# M alert("remove invisiable!");+ }. ]1 w/ j O
}6 I3 U, c+ A# f, F1 {5 ]" p
node.parentNode.removeChild(node);9 l% K6 ^% Z4 e& J% g' v
# `/ q/ e& B" H. |
}
$ t* |! `2 {8 M* ^8 N else 4 c& K9 ~& ?( H' a! Y
{
2 u' y+ C4 T! \2 _: O4 |; s if(node.parentNode) R1 b. {6 S( x" Q
{2 k- u( e6 F2 p+ x: k
var orgNode=node;2 h: Y8 i0 ?9 J) }$ \
var orgColor=this.getobjstyle(orgNode,"color"); O6 |1 K; \3 j7 a
var orgRGB=getRGB(orgColor);
; v" a4 ^! a @& Y$ K/ ^ 0 D8 q' G3 x4 T5 _
var parentNode=node.parentNode9 Y4 V: {7 r7 f" r
var parentBgColor=this.getobjstyle(parentNode,"background-color");
" L) G$ B' w+ d+ P2 h- M2 m1 V
: {$ Z/ h! D" I% ~ |! k1 M c) C var isLast=false;
9 G* }( o% t2 g # l/ M% g) C7 z: e# A$ d( H) b
while(parentBgColor == "transparent")
& r! L/ q% I3 A$ j3 E9 _( ]& H1 v* v {6 J/ a+ P0 O Q0 \$ o1 ^; }% B1 J
* b, _5 u6 ] o6 V3 \8 A# r3 ], L
+ d$ ^# ~7 c! v' S) R/ f if(parentNode.parentNode == null)& \! D/ |+ Q+ j& i0 C
{
8 N" e _. [5 _. F) W( |3 d- q isLast=true;
8 @0 P* e" g1 t- G break;+ w3 c# g( D6 t2 y8 p1 V
}" s( z1 J3 a" y
parentNode=parentNode.parentNode;6 z; u8 o7 Y: V# e3 X6 W. y
parentBgColor=this.getobjstyle(parentNode,"background-color"); r; q' A# ~$ w- l, Z
2 m" C: v& g6 Y# S" Z; S* K
if(parentBgColor != "transparent") & h: }! f% o4 b: s' D" z! F5 \
{
K' D& {7 x6 t1 d$ ` break;
- _6 U' U. W O }
8 N. J: [9 n5 @5 P Z" r* F }3 ?& X2 G- v- o; A
if(isLast)
8 [. w' l; v4 V/ x! ^$ Y6 V {/ q R5 B2 t; z
if(debug)
) t( ^/ _" B4 t% K) i {+ s0 r* U/ O) F; T
alert("last!!");
T; L9 n% k0 g* U3 {2 A }7 ?4 ?% H' R, G* ]6 p
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)): p5 o X7 _4 O$ h
{ p2 K! Z5 z [# c K( f
orgNode.parentNode.removeChild(orgNode);
1 T9 _6 h* D; x t2 h }8 H( J7 N7 V, S G6 o/ q
}* e+ J! Z( @* O1 Y& ~- a5 Q
else) m, W! y( g& ^$ s! c$ o! {9 ]
{7 L x1 y5 K/ k3 e
if(debug)
9 ~2 v/ ^' i! U% J4 s {
2 v/ v9 ]4 k. ]7 O ? alert("compare color and parent bgcolor!");
- s* B" G6 S* _ W3 ~4 m0 p% }: E }$ o1 M( z; I- J- U8 Z; e2 M" d) Z
parentBgRGB=getRGB(parentBgColor);- o& `( h7 z/ x, z* b
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ ?5 b& Y/ l( z' G& Q
{
; F# Y% `3 ~+ v# j: d orgNode.parentNode.removeChild(orgNode);
; V/ P4 I. ?9 @) ?) Y }
+ N2 n, [9 G3 M" E8 o5 a) o" q4 a }
# K6 ?6 k) F: h2 {3 q/ M4 V% n }3 z* x. p+ g# c+ _7 ?9 }
}
& P) B1 T7 i }9 ?1 `& C: \ }
8 r# m7 F$ ` m! R& w }( @: j C y( @+ z9 h& p$ a
8 c7 ]1 _! v9 W
# R& u9 W6 `" g& O- I var itemFrames = page.getElementsByTagName("frame");6 l: {% s/ K1 ? R4 `5 t
var itemiFrames = page.getElementsByTagName("iframe");0 V9 n5 X; T x# `
. ~5 O) V2 g! j var frame, iframe;
0 `% Q3 w0 [# z9 ]0 w2 }; {7 _ if (itemFrames.length > 0)
* h1 k- A3 t) |; D* m/ i: ] {
4 d) [( x2 `& m# a for (var i = 0 ; i< itemFrames.length ; i++)
; C- P. w0 W5 ? {( N) g) X1 w- T. U
frame = itemFrames.contentDocument;
$ ?6 M2 q/ r; W) U this.RemoveHide(frame,objname); ! N6 P2 d) J' N
}
]7 ^+ X; e( y6 r* S, ^ }: F4 `7 h: v- B" k, c
if (itemiFrames.length > 0)' `4 R6 v0 `4 N4 y& x; |
{
* V/ j9 F* S& k, o! U( r. R* ^# g for (var i = 0 ; i < itemiFrames.length ; i++)
3 @. K# _& ?- }8 n& O) ] {9 @. m6 P5 }( K; {' L2 j
iframe = itemiFrames.contentDocument;: v6 K5 J$ p2 N1 Y" E% z e3 W' V
this.RemoveHide(iframe,objname);
/ V8 s; x" \4 L# O# w }. N+ G, i! p: a! ^& U
}% J0 D/ u( b6 j9 r
}
' Z: \* A# Z4 } catch(e) I" Z2 t2 |1 q: Y0 @% Z# A4 b
{) w$ [3 J" B. D) N6 d( |( }
if(debug)
' z7 e3 r7 }* ? {; T4 |1 M7 Q% T7 O4 W
alert(e.message);
% Y! ~& R% q+ ?. q# ^5 R+ v }
7 ^. N+ L8 u9 N" @4 G- M; g2 Z }8 B* l" `6 k+ s
}/ h: |/ i9 \$ f) g, ?6 |3 g
9 y# n ]" I, K9 ^0 y4 d" ^
}
; Z/ J( _2 }# T& {% W4 m/ Z
6 t% e" P" [! O# y1 efunction getRGB(colorString)
; z1 X, m' A0 c$ i{
7 z. J! ?+ X8 \- B' _ var RGB = new Array;2 S9 g, }9 g' Y! F0 I1 o: k
var tempSting=colorString.substring(4,colorString.length-1);" c. _. B( X7 p/ ~7 ?( e
var tempArray=tempSting.split(",");* q- i9 {" x J" b1 Z% N: g& s
, E' w( p! S0 i4 G RGB[0]=parseInt(tempArray[0]);
& b5 B* D; {7 y/ }; K RGB[1]=parseInt(tempArray[1]);
* I1 F& |& P( G( T5 e RGB[2]=parseInt(tempArray[2]);) @; g( ]- y0 p% v, G
s7 t9 ~5 H9 P/ g return RGB;! d2 N2 o7 [9 i8 t! ]
}$ b/ K* M! ?9 m3 \/ {
function keys(evt)
& V" w" h7 z) j/ p { 5 l$ m" ]2 Y3 b+ h9 d( z
if(evt.ctrlKey && evt.keyCode=="81") 6 O9 d0 V' K9 i
{ $ J. h# o9 t$ d
CleanHideObj.on(0,1);1 }# n* o6 h# w7 a8 O6 Q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); : ^* f+ K+ d$ \1 k$ @+ c H
8 q! D6 J& w) o: H
}
3 q* E3 P; y$ P% ^ } 2 u5 y3 i) M4 A5 J, K! e8 M
document.addEventListener('keydown', keys, false);
0 O5 {1 i: H+ B7 G/ d6 b c+ c9 gGM_registerMenuCommand ('Clean Hide',
5 w, T+ w# a- S* H8 Qfunction(e){( p; z$ i8 h3 V5 c# d
CleanHideObj.on(0,1)8 |0 q& a: z2 Z7 s( j9 [3 h
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; T: d V* A! U% T3 c});2 U8 Y5 z7 r3 @0 y* o; ?9 y
|
评分
-
查看全部评分
|