|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
J Q) A4 c9 h4 y
5 e$ r$ S# E% I' X3 v! q$ b火狐插件,用猴子+ z* K0 `- Q7 D5 U, R1 x
$ }! h0 A2 F3 b/ k7 p4 R
var debug=false; h1 _! t! q% t% k
var CleanHideObj=new CleanHideClass();
; ] v( T( N f7 B/ \: o0 b4 q) G3 [+ }* d: Q1 _' ~$ `
function CleanHideClass() - v/ e& Q4 G2 o6 W5 J4 D
{
4 Q+ L9 \/ ^: F* o D5 } 0 j( c# z7 c# T, q+ `: u
this.on=function(id,bMZ)
( E! w7 e# R3 M% H! [' {- W1 c3 q { A% Z& ]' H1 s. I' ~: e
' \: }: _* m2 L. n
if(id == 0); x1 r! {: s$ w
{
( C( F9 F. A2 }/ \ var page=/* document.getElementById("content").contentDocument */document;
5 w. P7 m( w- X* v0 _; v this.RemoveHide(page,"span");
" f1 ?8 h4 J% ^$ `& J this.RemoveHide(page,"font");4 S' P: N) p8 @* m$ s$ ]
this.RemoveHide(page,"div");- `! |& |& n9 \# d5 p+ h0 W1 v
this.RemoveHide(page,"p");5 k6 |( K- `$ b9 j' ?/ }
0 A+ `# p2 R8 ]' U' y/ k
}
) h; V9 I8 c9 o4 C 8 i- {* w3 {5 f8 X2 U
}
# ~* [6 z; C0 u0 n$ \2 O4 i this.getobjstyle=function(node,prop)& c! Z0 |+ w- O/ b
{
, ]9 a! ^ ^; g+ ? try) R8 C g4 s# Y& M7 f1 _% o$ u2 ?
{
' {( ^- c) m- H5 J return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);: C2 b! H8 j8 z, h0 A, O- x9 _. \8 p
}$ }" {! ]) B( z. q& t# H' G# p) p" [
catch(e)
Z# H2 `, U: ]# p6 [ {
# V; I& k" J. q# Z* k if(debug)
1 ?: k) Z& P: @2 k {
/ K2 [% I ?& |/ j" ?' E+ v) Y/ @. ]; V alert(e.message);: b1 V/ r* ^! z% h S- `; }! P5 E
}
- N0 J: R. u% U# q# {5 G
( a5 V$ b, X* M+ U6 R1 p return "200";
; W9 w" u1 F; C! O }
# u" T; @3 }, _" l9 ] } N, g3 Z) k/ G: G1 i+ V
8 I+ X+ \. N& O/ b) r1 b6 l
this.RemoveHide=function(page,objname)
2 Q C" a2 h( J" q* n' P2 d {* c; d) r$ K4 P$ Q- j/ N3 c( R
try( Q% s0 I' E$ T7 N) x. W; z
{
) F( V& y0 ~" v6 z7 l var minValue=15;
- V, ^' H+ l7 Z. v6 I5 O# q var objs=page.getElementsByTagName(objname); ! c$ B8 ]. T- q
' H5 |! o0 _& k' t
if(objs.length == 0)
1 ~7 M+ B3 Q2 k; y* d {( A) O1 o! f9 Y; e
if(debug)
( `5 o7 Q ?) t1 O {
6 {* P8 f( a; x e. A6 m alert("no object found!:"+objname);
3 p9 m, |5 |' ^, t/ W: W }. A' j7 H+ Z, E
}4 {; B) F7 {$ x# A6 T
else
. W, R( ]* p( M( e4 h* S {, X: n& g1 `) N# f* R
. W ]1 ^8 ~9 }4 Q) u/ F for(var i=objs.length-1;i>=0;i--) 6 O: S; C# R; t
{
. k8 x7 |5 a9 p2 P" b var node=objs.item(i); J& `, a: j; A1 a" k* l% E* m7 p8 N
+ `& s* T0 ~- a: e o3 \! b
* @% H( J# z! Q |" B
if(this.getobjstyle(node,"display") == "none" ||0 u# ~" C: j, y0 t
this.getobjstyle(node,"visibility") =="hidden" ||
9 o! Q D/ B M, W% _ parseInt(this.getobjstyle(node,"font-size")) == 0) 2 F: B T$ d, s5 g6 q* J2 t
{
. C) a* ~% m! o2 g* F/ D. w8 R if(debug)
( p5 L9 c- A9 H( f" A$ [ {
- i7 Q4 e; l. h* s: a k alert("remove invisiable!");5 S W7 Q9 @+ g% O1 B Z! Z5 O1 ~
}0 j8 s& ^# W7 u8 p
node.parentNode.removeChild(node);
7 ^" c! v/ P, `4 n
3 C" l' e j; l/ B& }) V }1 r7 t5 c0 W! v$ c; r% L8 W1 Q! c
else
7 k2 ]5 h9 _! I" F3 }2 E {$ H4 Q: @! S0 j) b4 D$ W) S
if(node.parentNode) : S6 {; w# T, R
{
6 d4 b- V3 S9 c7 p) i& `* w var orgNode=node;3 |% l8 ^/ v% r. I0 |
var orgColor=this.getobjstyle(orgNode,"color")
8 w% B* Y7 J- }6 M% O% o' t' M var orgRGB=getRGB(orgColor); * g. y0 _# A. d3 d# n7 F2 j: h
$ G. s6 s6 D3 ` w, v6 j+ @$ D var parentNode=node.parentNode
3 ^8 ?. i5 J' h- j# A O var parentBgColor=this.getobjstyle(parentNode,"background-color");
( V+ n( G$ P! u6 ]! o+ Y- i
! z' Q1 r b2 {% @$ M var isLast=false;$ t6 t( y1 {1 S( o$ v3 g* m* r! o
1 c- C! u1 U+ w
while(parentBgColor == "transparent")
( v. @% Z* Y2 _9 V' n8 `+ V9 I) E {
7 t$ |" `( u6 l# b( h" v0 j
2 y. O# n/ a0 Y + i& _# E e& v% ?+ _% }
if(parentNode.parentNode == null)7 a3 ]" `' \3 J6 @* @( ~, ?
{
) N* K, M# V& c$ g) t isLast=true;
- F ^7 e! L. j break;5 E! n! E8 _0 ?1 p
}/ g* c% c6 N+ J ?( S. G9 D
parentNode=parentNode.parentNode;
, u, u( k6 c2 t% a parentBgColor=this.getobjstyle(parentNode,"background-color");
( F. Z- i6 h" U1 Q) q- `! C0 C. Y4 G+ u% H$ l7 s/ I ^1 P$ g: x
if(parentBgColor != "transparent") $ n/ P* V; N+ v5 r# M0 k4 k% D/ M1 I
{
7 ?" U8 ~; _. L- [! _+ T& e* w break;9 J+ ~7 @0 t% j3 c% ~; m! i
}
% t8 r+ z" \5 i8 l; m9 m# R }
9 B# f0 E; A u' H if(isLast)
, H( D' `; P5 X3 O {9 ]% [# q0 C1 ^& |. g* i
if(debug)$ x( @# Q/ w& n+ N
{0 m" L0 d/ g+ _6 E
alert("last!!");' Y( K- H _; g4 l5 V1 K: N
}
H. r* B; i5 a* v1 B$ ~( Q if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))6 F. ~. @# T! ]. Z/ N( H* [- ]
{
! ]4 I1 ?$ i9 |: n8 ` orgNode.parentNode.removeChild(orgNode);
* H3 _4 m% g0 ~4 p5 C9 }0 l8 o4 K/ x }
% a9 c8 F* s: L% D3 J }" b5 A/ G, A; ^& f" X: w# g" G5 L7 c
else; Q4 p- T) \! X- G" S
{+ \( @& T/ Z- V0 \( x
if(debug)+ t" z$ o, X: \3 Y; ]. O: s) ]
{! G1 P* o8 [+ n7 y; Z2 C
alert("compare color and parent bgcolor!");
& Z: F2 X, u/ {1 w0 ]' w }
8 ~* v( x! H. D parentBgRGB=getRGB(parentBgColor); v! @& F# ?% [% D
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
* C& k/ d% f( E' y {1 n2 a8 P) R3 |
orgNode.parentNode.removeChild(orgNode);
4 e% t2 b2 a8 }7 Q5 d6 i }
: e) u# @3 C" {* f, M1 L }
7 i+ b/ h1 m2 l. ?7 M }
* c) R5 i# R6 S3 G1 B }" W! M$ z" N& a' N0 v, R* o
}
% w1 N! N. i5 p Y( A: h }2 \7 i5 P6 z- p k9 h
: s2 w+ Y. r, }1 K8 u% w O* l
7 E7 F3 s* G3 h# c0 G, W. ?
var itemFrames = page.getElementsByTagName("frame");
2 T. ?1 U. P2 i4 g var itemiFrames = page.getElementsByTagName("iframe");5 x- r8 p" B1 V/ V. m
. }6 q/ S2 b1 C8 |7 l+ S1 J var frame, iframe;
7 Y* I7 f& }0 C; B' t# n if (itemFrames.length > 0)
# r$ _0 u1 H2 y! B: h& s {- D1 M9 }4 R! ?0 B$ |: l
for (var i = 0 ; i< itemFrames.length ; i++)
& k3 V+ _. l) { h# N! A {
" w7 e. j6 d/ w! }0 ^4 m* I4 W frame = itemFrames.contentDocument;
8 }' p! G, d* e2 o0 `- P( c this.RemoveHide(frame,objname);
0 f: R; d; n. H/ j9 T4 N3 P; f% P3 B }
! b) b! G3 i" l" D; Q. | }
0 t! R, ]. G& Z1 u3 b8 k& u0 _ if (itemiFrames.length > 0)! R# r# V) A2 }. \" M+ i1 a( m' u9 \
{
) L5 ^2 B) ]8 C8 z; z for (var i = 0 ; i < itemiFrames.length ; i++)
2 o0 L0 a1 F% s! _; ? {) z& H i, ?5 B9 q o' G
iframe = itemiFrames.contentDocument;& ~1 w: X4 w! X3 x$ p) `
this.RemoveHide(iframe,objname); , `4 A# v; |4 n- a! z
}
& w+ M B+ F$ y# [ }* H& T- v0 o. i0 Q# Q
}: x5 }2 N% L& p6 {
catch(e)
" i5 e- B# i' y4 [; f0 ~# @! ~5 r {3 b5 S) `; ~, t" Q, J9 _
if(debug)3 i' N9 P/ }* z9 J* g, c; d
{
5 q2 F# ~ O+ o) Q2 K, n alert(e.message);
; ]- y+ `7 `, j* ~$ O }. z9 ^3 k, L {( w) ]) G
}+ }( F" d/ i) {: }% S
}
- G& l: E0 }( ] / _9 v: J6 W+ C3 \7 s, Z7 j2 B0 b
}' \7 H9 n( }; S3 T! ^# g( T& c
" Z* v" v; J! j' _1 [function getRGB(colorString)1 a9 _8 \3 Z) q. ]+ @/ g/ G
{
* [& w# v, i' g$ L var RGB = new Array;; y# g& I, x' q4 y
var tempSting=colorString.substring(4,colorString.length-1);
! [+ a c- ?3 m6 r1 K) K var tempArray=tempSting.split(",");
' b/ v* N) u/ c9 h( C& F7 ]8 K1 W' G& Y. t
RGB[0]=parseInt(tempArray[0]);
4 T" T% }) ?3 `1 w: F' X5 b% s RGB[1]=parseInt(tempArray[1]);0 W6 k9 S( j4 w, u* D4 N
RGB[2]=parseInt(tempArray[2]);
9 x5 ?! f9 {; `2 ], ~& i. O % E& P8 I. m( g5 l0 T
return RGB;% B% h; i0 C( q, M
}
( D" r8 v4 r; ^$ b6 K0 n% lfunction keys(evt)
* l6 R4 {1 Y1 V% U {
/ H) t2 S) b- i. |; z5 y if(evt.ctrlKey && evt.keyCode=="81")
4 @6 w Y' k+ C2 z/ e {
6 \6 J7 e/ A8 w CleanHideObj.on(0,1);! G9 }) d* m0 q0 k$ j9 h. ]
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* T' k6 | b) X ' i+ z9 I# K5 ~5 V' @2 F8 e6 g$ H
}
, g$ g/ a$ z" Y- e } 0 B( e* z' c8 Y, f
document.addEventListener('keydown', keys, false);
' |1 H3 I) Y* R% _. vGM_registerMenuCommand ('Clean Hide',1 `0 D9 c+ x2 P9 ^
function(e){- E4 R! z# s; ?
CleanHideObj.on(0,1)( b$ N; W! P/ _! b U6 {
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
+ J/ R$ [% d3 F# B1 N+ G( ]3 Z});( V- R# E3 u+ ^
|
评分
-
查看全部评分
|