|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 6 U% E9 [5 O2 l4 l: D. B; m- N& C
$ K3 y. v3 m5 H火狐插件,用猴子$ W) H% ^% Z6 W
' q$ V; G; @* f6 o& t+ Vvar debug=false; 1 c, j( @1 M) y6 z! z# d
var CleanHideObj=new CleanHideClass();
- m- U6 {- X, d3 f, n$ S3 H
. z' k& A; q( V6 X1 v* Pfunction CleanHideClass()
' h8 z; @5 F0 e5 l. {: y" c$ @) c{ $ ?0 q: ?# e q% F) X6 I: s
( O+ K5 i8 i' N this.on=function(id,bMZ)
0 z% u2 H1 U7 \% V$ L( d. m/ A" _ {, U1 o! I9 ]. [+ \) p- m1 _7 y
) X; i" z, L4 t+ ^ F& x, l" p if(id == 0)
4 \# L0 s9 L7 `! V {5 ^/ ?! l" g- ~+ L; r3 c. a
var page=/* document.getElementById("content").contentDocument */document; 2 i: A" n3 m$ N6 `# [
this.RemoveHide(page,"span");1 p; x# h" Z8 }' Y$ W/ D' Q" X7 g
this.RemoveHide(page,"font");+ o" [- c! ^ a3 _" ]7 ?
this.RemoveHide(page,"div");
' m# O6 s6 b9 J6 d this.RemoveHide(page,"p");
( t/ P& f1 {+ o0 F$ A, z+ p
9 |* X: c" J. C7 N4 c }
: m7 k, f7 X0 i6 G
! ?9 f& n. k% i% L3 v( z }6 ~; g3 e$ m" v+ W
this.getobjstyle=function(node,prop), ^8 p$ V3 W* \1 m# y% w
{* v+ W# L8 H) ]) L- q
try
% C4 o3 V* v7 q {/ P$ h$ ?! e2 t2 n
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. U, V) E# k6 [0 n# H# ~) a
}
; ]% M/ z' D( \" [$ {6 ?. \! ` catch(e)
/ p; o. H7 g% J" c2 P! ] {
# i# F8 ^1 b7 u8 X if(debug)/ N. Z- \# A; ?8 k( K, g5 i
{* L1 q/ Q- k$ q: b# S6 m
alert(e.message);
& }$ o+ q: t9 J- r. N$ X }9 q8 ~8 T# m: g3 E
+ ~2 x/ u! X3 z6 R+ S) D
return "200";
! S+ G- r! Q/ v }/ ~% Y* L6 ~& J3 Q: m4 p2 W- n: L$ Q2 p
}! H9 s) D$ q4 s" y9 V3 z
2 O) C/ Z; u5 _4 ^! K) U" l
this.RemoveHide=function(page,objname)8 q6 K+ Q* v+ C; W0 ^) J5 L
{
7 p$ y% S; k1 R! e try
2 W5 [6 }3 }3 b1 u A0 L0 f {
5 g7 f9 t4 @( i4 `1 c var minValue=15;. H3 T6 s! V( t7 |$ k0 h
var objs=page.getElementsByTagName(objname);
( Y6 q, d; X' p. P% @
1 L! Q! V# C) h a8 ? if(objs.length == 0)
% D6 A8 W" @; r# z! ^ {) x( P* O: A5 q& A. p. t6 ~
if(debug)- {7 ~6 s, j$ \9 t8 ?) M' B
{
$ A s' N0 Q" a# X5 M alert("no object found!:"+objname);7 u1 ~8 G! e. X" ?, s* U5 f
}
9 j- b' R5 J7 R6 O$ v$ a }
( k: ~0 j6 w8 ?% p else
4 e9 G7 V! C: b {% j5 b/ }3 r9 O0 G* S# M1 i5 t- c
' o/ m2 B0 t5 h; O
for(var i=objs.length-1;i>=0;i--)
1 U1 q2 q" q# @2 T5 r1 e {( _( a5 `3 g0 d6 H% _
var node=objs.item(i); , ?- ~/ Z/ f! F
0 Y: A7 S2 F1 q& d" A
+ J3 n7 `( \' k if(this.getobjstyle(node,"display") == "none" ||9 N ~; U* _6 t. q& N% K4 n
this.getobjstyle(node,"visibility") =="hidden" ||8 i ]1 E: ^+ P+ w% K7 v* y
parseInt(this.getobjstyle(node,"font-size")) == 0)
3 U& J; z0 e3 P7 K {/ e% c+ e3 r+ Z2 p4 `$ p( q7 v* Q
if(debug)
; i. A* d& U& @0 L$ m$ G { O! W3 ^, j" ]1 [8 |8 H5 |
alert("remove invisiable!");
/ ^5 s+ M) S- k }
, ~* T! J, H/ M: x) i+ s node.parentNode.removeChild(node);
4 { [& W- J5 x6 P+ h/ w
& q* v+ f$ o: Q( O' r' e }5 I- W. M b0 C+ F5 P& `% [
else 6 {- R! J4 p+ e$ P% v
{
/ }/ `* }! U% D5 c if(node.parentNode)
4 o& t) v% j0 @; Z {
& Z5 n4 J" c) j; d6 m$ K0 J var orgNode=node;
# l: V/ d/ E+ x1 j; _- K var orgColor=this.getobjstyle(orgNode,"color")# l _9 B7 p& T4 H' Z4 d. @; Q9 a
var orgRGB=getRGB(orgColor); 7 T @8 w7 ?4 x1 C9 d% y# g5 d# L
" q+ a5 D3 y2 H+ p: p: m( t var parentNode=node.parentNode
4 v, t5 ]" i; z- k2 @ var parentBgColor=this.getobjstyle(parentNode,"background-color");) K9 J- Y3 L4 P( l
+ c; ^8 C. [) V' f3 u g1 S- _
var isLast=false;
' }& I: H& R+ ?9 V3 {; t ) _8 z- s% y! W2 z# b' u8 Q |9 O
while(parentBgColor == "transparent") / t F# e9 b! W% s; Z
{# n3 D# U, f A4 F5 z
. Z$ h/ N( k& G _ ?! g& R 3 E& G& B8 y" q8 N# u+ X
if(parentNode.parentNode == null)
5 D/ u% ?' n; K' z4 r& A6 F {
+ r# ~6 \! K7 _* S+ u. f: d5 b isLast=true;% t' \ ^' A: B2 Z/ p
break;0 [2 {% u6 i. g! N$ ?
}
: r; ?3 [3 a" _1 ? parentNode=parentNode.parentNode;
7 g: p* d$ q( }8 ?0 Z! t parentBgColor=this.getobjstyle(parentNode,"background-color");! t, s/ T7 i7 F8 w9 B" K; Z
$ U v) C5 O+ F
if(parentBgColor != "transparent") 9 @2 c- ]8 y M- V
{
4 i; M z& [5 x. B: a break;5 y" j, ~0 m8 y7 n8 U+ V' ]+ b
}
9 ~1 N" g' \9 ]" h' e" h }
" A5 c8 L b" o9 A& r if(isLast) u5 s2 v/ D: Z4 }" k2 ~ \
{
( V5 m0 \, S( U if(debug)+ v2 D, v3 Y5 y' R' c! |" i
{( _. J, V3 @: ^# H h
alert("last!!");" [# F v: y! [& m2 R
}
, R O# \( E7 W if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! a9 F- l X3 t; f! g" ~
{9 K+ t2 A* k- ?$ P8 e1 {# f: P
orgNode.parentNode.removeChild(orgNode);
+ a# T3 G: N8 c. i$ P' e }7 z& p- E0 j* f7 v" S# b' |
}/ ]) w9 m4 ^; s/ Y% [# k& @
else8 D0 H% h- W g/ c. y/ L/ Z
{
1 f8 L$ ]( \. h0 S) s! v- t" q0 ]/ ^ if(debug)9 J% }+ _% {% I7 x3 p T# F& [. N/ c
{
- h2 T) P% j+ C8 J9 V/ S alert("compare color and parent bgcolor!");6 l. Y% l0 |0 {* ]) e$ T
}$ Z& Y( z, h+ K$ N; X o5 y0 Z7 R# p
parentBgRGB=getRGB(parentBgColor);
. `$ C; m. s5 m" t, x1 F if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
$ W% G/ l, y( n, ~# x3 U# j {& x! Y7 g, i# j2 F
orgNode.parentNode.removeChild(orgNode);
( [ q& L5 h% C! O2 ~ }& P! C. q8 d2 n! M
}: a: J8 x( d. L7 d7 @
}: U* j& {9 D- p! b1 J7 Q
}
8 g1 H+ R( a9 ` t) b }6 [- T& s* a" x& }
}4 o$ p! t; F$ \, d( N6 e4 H- t
" n3 i" t" Z6 Y ' o/ ]/ R+ n8 R
var itemFrames = page.getElementsByTagName("frame");
0 Y' N: O6 n9 w) [( N8 N: u var itemiFrames = page.getElementsByTagName("iframe");
4 ^ b; H# F8 D# ]
/ j4 j T9 q- Y% d) }' Q var frame, iframe;$ U2 y5 f! f. e4 x" @2 S9 |. K, H
if (itemFrames.length > 0): x! b9 \7 N4 H! P% m! q
{$ f' `' q# \# }" X2 f, ]* f* I) Z
for (var i = 0 ; i< itemFrames.length ; i++) & ~# }' ?) R/ z
{! B1 `' ^5 M9 J# Y5 f+ `0 m' _
frame = itemFrames.contentDocument;
7 B6 A6 [* v( _. {# p2 A* c this.RemoveHide(frame,objname); 1 v/ s9 [3 q4 H" w* W0 g
}
- y5 g. Z, ?8 V! m- H$ E( J }
6 L- D. O" G3 N) a- m if (itemiFrames.length > 0)
5 k, e4 `7 F$ K* e7 T {$ S: [' m+ N/ H7 W
for (var i = 0 ; i < itemiFrames.length ; i++) ' J5 r N" c4 }' Q H0 z, b
{$ w& \) b) t3 \
iframe = itemiFrames.contentDocument;( W; Q; @6 W( V3 k
this.RemoveHide(iframe,objname);
. {5 V- {9 w" E0 U2 P U }
# r* [) V* ^6 L8 d3 {- _# m }
2 G8 E6 _" G* d }4 T, x5 x. b8 Y6 Z# a. i* `
catch(e)
. J9 b8 O) x+ l0 o- t { I% q- y# V. M
if(debug)
1 y& Z2 R" t a, R$ F, P. N {
6 ?' t9 R" O0 h alert(e.message);2 q% r( ^) Q# _% ?. u
}
6 i" r. U; w! z' Q, L, ~* q }$ c1 t8 Y4 y4 k l9 Y
}% E: x4 b. q& Q! y$ s5 D5 j% j5 B
0 g: T4 f ?; J2 _9 U$ X( h}
1 i+ ]" H9 u% Y" Z: d
. R$ _$ [* ~9 u' }- Vfunction getRGB(colorString)
3 [( x% M6 z4 r8 m* q9 b{! g( u6 j v+ B, t4 P6 e& B: m& Z
var RGB = new Array;
9 p7 A1 o9 K! a! K var tempSting=colorString.substring(4,colorString.length-1);- U& d1 L# |' i! F U/ E" {% G. C4 a
var tempArray=tempSting.split(",");
: B* h% i/ Y! }' }: B6 p" k& b
4 F- ^$ X) z3 e/ T! ? RGB[0]=parseInt(tempArray[0]);
5 d, t0 B6 h1 f- T( c; S2 O/ z+ I RGB[1]=parseInt(tempArray[1]);( d! g( Q% K5 c4 Z; |, K
RGB[2]=parseInt(tempArray[2]);4 k, [( z# ?: N
# ~7 Q7 W. I" M$ ]/ f" E
return RGB;5 ]* \/ Q( j" ?7 Z
}
' s1 {; S* ]; n' Wfunction keys(evt) 9 B7 s: e! w5 ~# I; P
{ ) Q: x/ h1 U/ m) D
if(evt.ctrlKey && evt.keyCode=="81")
* _5 ?6 t7 T! ^' y% H, L% E+ { { 4 y9 e. K9 H3 g, K5 u
CleanHideObj.on(0,1);6 Y$ y" F' Q+ W$ e4 w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- _4 z' V- Z/ R( z. m% E$ V ) b7 Z: K* k5 L7 p+ a
} 5 ?/ y. B4 Y5 P* \. _1 p$ h
} + U: `0 s" S& O( M
document.addEventListener('keydown', keys, false);
# }) ?$ g) ? O( E2 l* f6 H/ oGM_registerMenuCommand ('Clean Hide',
0 z3 ]6 I# j# M4 z7 pfunction(e){+ O4 L+ x {. \
CleanHideObj.on(0,1)2 R6 E; p, Z4 k4 }2 a+ d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");! s0 K) _# e2 R _$ {
});9 s+ w& {# s& p, g; u
|
评分
-
查看全部评分
|