|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
1 N3 v3 `; x2 x5 S% X2 A5 a9 ^3 r+ M; Y' ~
火狐插件,用猴子
0 U% Q/ j+ _/ V7 l# Q
6 H3 e* l* J7 Yvar debug=false; ' B1 E8 W4 @9 a2 U
var CleanHideObj=new CleanHideClass();9 G* ^& e% ]; Y7 a1 o
: `; M0 a. }' A
function CleanHideClass()
8 V9 X6 `4 a2 A) ]* l% P{ " |5 q8 S8 _1 O4 g" R
& n; W; t8 E+ z, W1 I this.on=function(id,bMZ)
% C# r1 `! ~+ h4 X. a9 F' n! h {
+ R4 M1 v- b) g. z 1 p. J# ?7 b, H2 S
if(id == 0)3 V+ E3 G& V* y$ s2 j; F) E
{
! V, t' S; [- n) W! f+ a var page=/* document.getElementById("content").contentDocument */document;
+ C- b5 V3 y$ `8 l3 P3 a this.RemoveHide(page,"span"); L2 \$ o8 Y6 O: G2 u' Z
this.RemoveHide(page,"font");
5 C! H( Y, G# |7 E& R1 a this.RemoveHide(page,"div");
5 i% R3 |" u& [& ~6 ~! V6 G this.RemoveHide(page,"p");& G9 w1 ?/ z; P
2 f( Q! M8 r0 ]1 L% d7 Z' A& ` }. o7 o# k, F+ X$ o6 T5 |- f
. F! @' Q" p) N" | }+ ?% k- v: k, @; O Z* }
this.getobjstyle=function(node,prop)$ d8 H5 m; _- ]' u6 m% t
{
, n$ {. C8 ?9 v8 d6 L# F, \1 X try8 {2 Y3 p% S+ e7 ^, ?6 ~/ u
{8 P" e2 p. j6 D5 X
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop); q0 L5 Y. x$ s$ S/ P
}
2 I* X1 E$ s3 c; M% g% W6 u' w6 h catch(e)2 S6 J1 l9 y9 O" N' B7 E
{
# A) Z! g8 f# G/ E, W if(debug)
- E4 l' D( N. |! S9 | {% T# E0 M, c% I1 O4 m
alert(e.message);- N# R9 p# E. V5 p3 `- \" a# S
}! b% G( O+ E( G+ }! \, C% h% v
- J' k5 L' N) A/ ^3 i return "200";
1 k: J% K2 j6 T# \5 H5 S4 C# M, O$ i }
& X" L- H3 m. @% O }: s% f' U" w: R( `* O) `# Y
: b2 _: B3 X5 B7 m' j this.RemoveHide=function(page,objname)+ O. c6 X- c0 q
{
( e* A# j/ @. x$ L try+ Q# K- A! T; m
{) O% s' k1 H/ s; ?8 X: b7 b$ v
var minValue=15;
* I+ [9 F0 _# X8 t5 g' T- ~ var objs=page.getElementsByTagName(objname);
# B) C7 h3 ~+ r3 t& l7 _. u+ ~8 p) L1 ^5 W
if(objs.length == 0)
; K8 f" ?! G- Q, }5 y {7 e A/ t1 J+ {+ S
if(debug)$ k$ h. V) Q+ W' V2 c
{- J; l- z4 O" t# Y# w6 X
alert("no object found!:"+objname);9 I. c0 W/ t% K8 Q. C6 o
}
0 y& p( A' N( Z, t/ u }
+ K( z3 p" l: ]& i5 p+ ~ else
}% e' a- O2 b8 x/ m, u) A9 Z# i {
3 F: D/ K9 e6 R& b7 c1 ? 6 [( [3 O* W( a* k$ _2 ]
for(var i=objs.length-1;i>=0;i--)
+ S7 b+ j" j2 H) i, x {
% y; m1 | v) j3 V V$ C var node=objs.item(i); # P: F4 f- o" G/ y; v% W- r# \' ~
% f4 o. G0 Y% M7 ? : N6 q6 _! N& W% I2 ~/ e
if(this.getobjstyle(node,"display") == "none" ||
. B8 z1 i! {+ K$ Z) i this.getobjstyle(node,"visibility") =="hidden" ||
; y' p, k( |% }( K$ S0 G: }/ ~ parseInt(this.getobjstyle(node,"font-size")) == 0) F4 M" o) E6 C% R8 W- e1 t0 V
{
; d6 j& i" f- t if(debug)
% v' M: D% d' S3 ?- W {5 y' f6 X! }3 ?- o D9 m
alert("remove invisiable!");4 Q7 B3 d z V' q7 ~- a
}
3 a a5 J" }( L: c7 C node.parentNode.removeChild(node);3 c+ Z9 O, A3 A! e
" _% f8 H+ q) f* R
}
! {/ g* q o' x) Y# A% r* u$ ~ else / S A0 R' J: r( z- R; |
{
2 Y1 B: m5 e) I5 p& ~ if(node.parentNode)
) S* p, q( j9 O {
, \1 B& T+ V0 G' k0 Q2 O0 d var orgNode=node;
9 b. U/ V# a; a; P1 b var orgColor=this.getobjstyle(orgNode,"color")
@. s$ W" P8 ^. h+ F var orgRGB=getRGB(orgColor); 9 b B: [3 ] d" i# ~- B2 t9 y
# |# o1 R2 v+ A/ W' u z, L. a var parentNode=node.parentNode! y2 y) w) V: k1 N& B
var parentBgColor=this.getobjstyle(parentNode,"background-color");
! p' `: `9 v; \; F5 J h! s5 H& N
- d! L) `9 C Y4 E$ \ var isLast=false;5 @1 v5 O; B: F3 J ~6 }+ N! ?; G* `
g0 I) {" p) P: w+ B: C0 s while(parentBgColor == "transparent") ; u& v% m2 E( h( D- x4 J: J( ]
{9 |) u; b* [/ e4 G( l4 ^$ X5 y1 _
0 k6 `6 ~* [- s3 q+ l/ p O$ \
3 q7 [3 w$ r! ` G( e) L' ~ if(parentNode.parentNode == null)! G0 W8 d1 U9 p2 `6 M, d
{
9 j p/ r% n6 I% ^$ j isLast=true;
7 u! @" P; d, |# \/ P break;. b0 R& p' n5 @
}% Y; R9 w' J' Z( C& {4 p6 D
parentNode=parentNode.parentNode;/ F( c' H0 E( I, l5 S
parentBgColor=this.getobjstyle(parentNode,"background-color");$ m1 J9 j1 |* I; R6 x ]% D
# m* j* U$ l; J if(parentBgColor != "transparent")
) \# k+ W- } L+ E0 W9 J {
1 f; _6 z1 N7 m5 H' p break;
) M! W( x V1 p' i }
l( s. ^, v A4 J }
4 S: @4 `' V; m2 l" _9 w3 e if(isLast) ( W$ J% d* y$ u5 r" v
{, J3 w' q' T/ o3 O3 U- B& {( w
if(debug)( x; A% k. `1 S! Y0 f
{ M+ n, Q& }9 D+ o( i5 v
alert("last!!");# h1 V- V+ o5 d; C
}
3 a- G) g {4 o' L5 { if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))5 ~: y0 Y7 `" U8 O. t- a
{
2 h$ L& C9 x* l z( p4 o ] orgNode.parentNode.removeChild(orgNode);
) |9 y. {+ T: P/ Q5 U }: _# V2 j+ K& j. z
}
0 q; O9 P v) k* {* s, [0 H else3 \4 |. b- G4 L% c. F& c
{% n7 s! |9 ^7 {
if(debug)5 }- V, I/ C U: G7 c* k( U
{
' g/ z9 n+ z) | alert("compare color and parent bgcolor!");. Q4 h* z+ n" P$ Y0 O
}
_: ]9 ?1 A& {5 F parentBgRGB=getRGB(parentBgColor);. F* r8 J j7 h
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' l+ P4 u- m' o6 ?5 b- ~, e {4 P- Y6 |1 v3 P5 f: B5 Z
orgNode.parentNode.removeChild(orgNode); 1 ?$ e, ?+ Y% [" [7 r1 b
}
4 a9 @9 z' J* y }
/ Q3 v7 M* W7 h3 q* u: I! q7 Q }; S0 v6 q' g: h9 \" j# _7 K
}3 a1 H8 W$ M+ ~0 a8 K0 q
}
' z1 _; u# K+ \- a }
/ P- g" w1 [& e C& I g7 f7 t$ `1 {( Y0 ?& T
7 w' K9 R5 b9 i( |3 P$ x6 q var itemFrames = page.getElementsByTagName("frame");
% t# z" C: h2 X3 ?. ^ var itemiFrames = page.getElementsByTagName("iframe");
! R0 p; k/ } h2 a + W. c/ h; o+ n5 m. b* |1 F, J/ w
var frame, iframe;
2 _; m! ~- o7 n8 y; E0 W if (itemFrames.length > 0)
+ |6 x. c7 @$ ?& \5 z {* T" N4 C$ O5 Y: o
for (var i = 0 ; i< itemFrames.length ; i++) " J: B: F; u6 m9 c
{$ [9 K n9 p2 u6 ^
frame = itemFrames.contentDocument;# s2 b3 o4 [; {4 V5 m4 }, k* r
this.RemoveHide(frame,objname);
3 S5 o( ~2 {: s5 F }, s) I! k3 B9 V1 F
}. b) N: Q; \) ]* A3 F
if (itemiFrames.length > 0)& c% a4 U' M7 Z3 f! w) J
{
; c' q2 O- P) [# U! I. ? for (var i = 0 ; i < itemiFrames.length ; i++)
0 ]- n5 j; y) D$ m+ b {
7 t0 }3 ~4 a0 n- y iframe = itemiFrames.contentDocument;. }' F. [8 A: |' a% o9 |
this.RemoveHide(iframe,objname); - E: B5 i) l7 G3 P
}
+ `' V1 {- H) s }) g8 Q' i. |& u+ c" b4 K7 K: p
}' \0 V7 w, w c& \; b
catch(e)+ t6 M# R1 R* Z9 G) j
{
: k3 }0 |; j" y if(debug)
9 f, u& e0 t! r8 V0 K0 [: j { ~$ C- z4 @. p" H! Z4 S0 N
alert(e.message);+ z7 N" g: B2 ^% t% {% f
}2 o/ _* u% h' v, Z$ Y7 v
}' q: Q# V* j" Z0 {# M% Z- H
}; l) M. D1 b# h. A( M v
& F) ]4 U# j$ `
}: \& B$ e' C2 o0 N. u6 d* m
: [ Y7 t! M% c- v$ N# Tfunction getRGB(colorString)
# ~, b: y- W4 Y8 o+ D{" U1 c# J. V( a; B" p% i! ]. C; H
var RGB = new Array;
( e" y$ J. b; _6 A( k var tempSting=colorString.substring(4,colorString.length-1);& t6 ~2 R9 w8 R7 Z+ u- j: ~
var tempArray=tempSting.split(",");' j9 a" E T6 i" a
) b% g3 F: a$ ]% C: ^- o7 j
RGB[0]=parseInt(tempArray[0]);; J% W7 p6 T) h' G! h
RGB[1]=parseInt(tempArray[1]);
8 J5 `; n9 R+ c RGB[2]=parseInt(tempArray[2]);6 a8 T; R* Z, S6 O% W, l
U% S6 K- Q# ~3 P! ^
return RGB;1 n( ^* K- z8 K. _" J6 S
}
; I* V8 K) n# H! m5 T* F, efunction keys(evt)
7 A7 w5 _2 w7 f( k {
" ~) N# E7 R7 _7 k6 Y: ~: a+ M if(evt.ctrlKey && evt.keyCode=="81")
, V- c* \" C+ m- W, a& R, k {
$ c0 I6 p; N2 Q! l/ o Z( w CleanHideObj.on(0,1);
% r' }" [7 T4 L$ l1 d+ Q( d0 } alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: O! `4 @) `+ T! Y) \) ` ( ]* o4 e9 S/ N
} 3 Z3 f4 H" R+ H
}
! f7 T) t0 f E# U% f6 Gdocument.addEventListener('keydown', keys, false);
8 _4 S' \% h+ Z4 d/ n% x& bGM_registerMenuCommand ('Clean Hide',$ ~+ o: U1 K& T0 b% s* V+ V+ e
function(e){
B# V u$ |' ], e. d; y- OCleanHideObj.on(0,1)# U! u+ w4 k* O7 F+ o( [& r
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 e" B7 c5 {: P1 ~6 d) T! t});! S" \0 i P0 J* D0 T0 {
|
评分
-
查看全部评分
|