|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 p8 r7 ~% z7 R
7 z r7 q$ X4 @% @火狐插件,用猴子
# T* }4 Q/ y- W: t2 W+ b, H9 ~" D# T3 |0 {6 N) a% Y
var debug=false;
! L' L7 Q7 i4 _var CleanHideObj=new CleanHideClass();) ~' I4 X; D# x9 ?$ t5 }
% @9 a9 C( {( ]) y. b5 s
function CleanHideClass() 2 g( q) v. \3 C. Z) Q* x6 H" |& Z% M
{
* z4 X3 }" P; V/ e6 j4 x" z 5 y& h, k9 U R8 ~8 p: w
this.on=function(id,bMZ)
% g! U' r& O |% Y {6 s0 P- K( ?, @6 r/ {5 a) A
& H' l/ J4 T& I' F! G
if(id == 0)
! v- T8 _4 ^9 b+ |) J) V {3 h2 N; }' e9 X4 t6 k
var page=/* document.getElementById("content").contentDocument */document; 8 n8 n6 `8 q2 C
this.RemoveHide(page,"span");
# p: D. K! S2 b this.RemoveHide(page,"font");
6 o8 q9 B2 N" `5 k; B/ U& B. L this.RemoveHide(page,"div");
]2 D+ f! x. Z' Y0 n this.RemoveHide(page,"p");2 k! ` D9 R$ _3 p5 m
9 F5 _7 v/ D$ H8 S U3 C' e. M; i }+ }3 F' n6 Q }9 r' Y' t
/ X; x1 c# f& A4 B: r, E# @
}7 M( D% n3 I/ u; n1 F. T
this.getobjstyle=function(node,prop) H# v1 X( z- N: _$ [ g+ c Q4 s- M
{
3 l; H1 u. ]# O( ~ try& d1 r4 v4 A5 k% R4 H: \
{- B3 v$ c1 D! Q/ w7 k
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 e6 m( _. l8 [6 [4 ]
}
. X4 M, \( @6 H$ x8 i catch(e)+ q1 T( a$ n/ C9 l, X# E
{4 r0 e. N( @/ c4 ]
if(debug)
! e. D+ N9 ^2 ]9 W( t/ K2 {5 f {6 i6 i6 {% M( G) m8 _
alert(e.message);, y2 R+ b) J, C1 b
}
* d( p* F/ ?! j$ ?8 F- m ! y6 `8 C, C) V* r6 D. t( e
return "200";- }+ c' V; G Y; N% G( j- L( t3 B" `% u! `
}$ E. } C( i0 G6 l
}$ I+ U" c* B p9 W( t. o6 u( k
' {+ @; u8 k4 ?* y, }8 i0 p
this.RemoveHide=function(page,objname)
7 D1 _, N- J6 K* [, V% f" M" q {: t$ t+ y2 r u: f! f7 M+ @
try/ S/ p( ]* `. e0 o H" r% {4 \
{
/ V/ e* e& f2 t9 g var minValue=15;$ Q8 B% u( z- Y6 C7 O
var objs=page.getElementsByTagName(objname);
0 N. Z2 p- Y/ M, I* H& v! q5 S( P% w5 q, g0 q3 |
if(objs.length == 0) % U/ [. C% e4 `1 M+ z- o/ Y/ T
{
/ o/ b0 h! T( @. l3 \" u5 B if(debug)
3 C* W6 N+ c5 Y! K- K O {
: l0 m0 g- H/ L: O3 \ alert("no object found!:"+objname);
1 F8 m! m, l1 B1 @4 I; ^ }0 L. D* {$ ?: e3 w6 m
}0 Y! C$ h- X& Q- a$ w9 B5 D0 c7 T
else
5 @7 I _/ s# i/ D {/ O C3 `7 }# G) s% ~3 u; @7 G$ [3 Q/ c
9 z# K0 J: V8 M% z: s* T# o
for(var i=objs.length-1;i>=0;i--)
* j# }- n( Y5 \0 J( T7 g! a# p {
9 _0 A1 B: x6 R# e) m! U4 i var node=objs.item(i);
4 @' B4 y: O5 c. G2 O, _
v# ^8 c1 R8 c7 G8 X: S, m
& \- L7 V+ g) K4 `$ f F4 \: G! |# f if(this.getobjstyle(node,"display") == "none" ||
4 j3 H4 h4 c& z4 Y/ B this.getobjstyle(node,"visibility") =="hidden" ||
3 U0 q4 B& i! c6 h6 `5 B8 F parseInt(this.getobjstyle(node,"font-size")) == 0)
& B2 K: @6 x3 }: |+ ^# ~ X b {
# r, ~, {* }7 [3 Y0 a! x* g if(debug)$ f" B* U# ]8 T1 U# z$ g
{
( y' q, `* `. G: n) T alert("remove invisiable!");
& d9 a G* F" V7 h% p }
+ `6 o2 O6 V& n node.parentNode.removeChild(node);. G2 g: ~8 V: ~ V
! v8 S" f2 N) w
}
1 M3 @! R. J" R else # `8 A$ @& k( ]4 R8 s# k
{0 ^- K( g( @7 O$ v
if(node.parentNode) ' b1 A6 \" |" X
{
# K0 J5 T! Z$ Y9 L. |& F3 B: w7 N var orgNode=node;
: \2 V' j' o' x2 C$ D. ?1 b var orgColor=this.getobjstyle(orgNode,"color")
, D3 l. ?3 Y: \ var orgRGB=getRGB(orgColor); 5 O/ q1 b |8 f1 j
1 Z' I% S, [) y1 b; a3 i- c
var parentNode=node.parentNode* b2 k5 }* P5 h, B6 X' V
var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 F9 f: @ ~4 w" {, g$ Q: A / w+ E8 P$ s5 C& [) r9 J+ n; V0 g! s- G
var isLast=false;3 @- _/ z9 \! _3 z
% @) F' ~' A' m1 W; |# k/ T
while(parentBgColor == "transparent")
1 b& d% M* @+ B' w9 f6 b { j. \2 A3 @7 U1 n3 S. \, X
9 \2 e4 s1 s& A+ f2 f" Q2 K ?
6 k `8 Z. ^. G: C0 X# W3 F if(parentNode.parentNode == null). _# _5 C+ o$ F3 j U$ Q0 A/ E
{$ C7 }& {/ p( `9 T
isLast=true; z# h3 ~ k0 C/ ^5 Q
break;, g9 ^4 t# n c& |& q! J6 v
}
9 Y: Q( p6 e* Z3 u- D+ k, | parentNode=parentNode.parentNode;
, x! l& q; m- u& g parentBgColor=this.getobjstyle(parentNode,"background-color");; ]) Z4 ~9 c+ p p0 t8 r
! G- Y: {& F3 b# D' [9 G
if(parentBgColor != "transparent") ( f8 V+ ^ @0 m7 U) _. H }
{
3 k- P+ a: w; e1 ]9 k8 v- k break;+ R, m4 ~- S1 _$ D! \
}
/ l% G6 u# n8 S( w$ m& Z }
% R+ j3 e) s0 w0 b if(isLast)
2 G- v* i% h1 p* t" X {
6 q6 I/ ]" w3 i2 y3 _; f if(debug)
, \" t7 {& o7 c z, D {$ V# K5 n0 y: f2 y
alert("last!!");4 p5 m/ e, z1 m: F) b$ A
}0 s8 }1 r8 n% f) m9 A( u
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))% R7 N; O" ?' i2 _( a
{: y% P4 O# n- E
orgNode.parentNode.removeChild(orgNode);
! i. g! u3 w6 u* ^: h }& ]& _1 I5 Q4 y% Q
}
& b% C; G6 W! T/ a2 o( Y% L; c else8 E6 B$ Z3 u8 y+ _4 @
{ ~$ F& ^: j9 n) C+ c# h
if(debug)
- k% X1 V: q1 F0 a+ j8 c, Z {0 D$ s, w. |2 Q- {
alert("compare color and parent bgcolor!");) j% }: o2 P) ^8 m+ V# C, J3 E/ ~
}0 R( R1 T' K$ U4 G
parentBgRGB=getRGB(parentBgColor);
, J7 `& `. V7 C. v: T if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
: A! W: {" [/ X' u4 [ {
1 m7 J7 S4 [; F8 Q3 U orgNode.parentNode.removeChild(orgNode);
0 c9 Y$ j/ b( j5 V- [+ h$ h }6 O9 l4 u* m' [6 Q% A7 h! _
}. G& E; C" n7 h5 ^4 t
}
! A" `. z( ]8 T) Y) K }1 ^+ R" `) T$ d }9 Y* T4 l s9 q$ G1 p
}
9 j4 I; `6 O q( Q; v M }
3 i% Q& T8 X5 R5 p% a3 k
1 f+ j; h. A0 G6 d% g7 w
8 U. f, `4 b7 [. V# M$ M e& _/ o, x8 ` var itemFrames = page.getElementsByTagName("frame");' c$ Y4 M' U* ~3 \2 n
var itemiFrames = page.getElementsByTagName("iframe");5 U" O1 t6 d8 T4 ?
6 v1 T9 g& _+ p' p
var frame, iframe;
: |' m' A# X: _0 P J if (itemFrames.length > 0)2 a( t( c- s }2 [
{
" C* \6 g" ]" i6 o/ L0 H- O for (var i = 0 ; i< itemFrames.length ; i++)
( c, e& K: w2 ^" J {
1 P# _; m7 R8 s7 ~1 Y4 Z4 J frame = itemFrames.contentDocument;
$ O5 B& I8 ?( n: r1 \ this.RemoveHide(frame,objname);
, k1 b) U0 w7 C* ]$ y }
1 t0 w1 Y$ o+ `; V' N0 n }5 M9 i7 o+ v: e6 d
if (itemiFrames.length > 0)- ~4 j7 V! f9 w# f. u6 o
{ G4 F( q; h, H7 t
for (var i = 0 ; i < itemiFrames.length ; i++)
: Y# Z& S$ N& o6 Z8 B M {/ i3 T+ E6 O) Q
iframe = itemiFrames.contentDocument;+ r. @ r9 z) ~, }# a
this.RemoveHide(iframe,objname);
9 o0 }0 F0 |7 L+ u2 z/ J' i- P$ h }
, [( S& U% N/ W- X( v9 S }
6 D) u( z6 {/ j" @ }/ ~* @+ q4 f4 j/ d1 W D
catch(e)1 R$ U* ~9 F7 m- M z6 }* j
{2 ]0 p3 U7 u. ^4 q
if(debug)/ }; v7 U$ w& E3 a+ D' ]+ E; f; }5 b
{
) L. h, }- o4 M, ^; E+ _9 Z. J& y+ _ alert(e.message);( p* C1 u i6 g! [/ r# r
}
: l$ G) f0 r# M6 p1 y7 { }
f, H2 n$ E- l }% ?. C; L" c2 K/ k0 G
0 } H$ z. y, Y8 p) q2 T6 A}5 `# k3 _. j; ?: u
! [, d/ t" k1 n" o' Z2 X' Y
function getRGB(colorString)7 i3 M# ] L' @; Y% B
{: Z( T/ e. I1 y5 I8 [2 Z
var RGB = new Array;' z8 g5 w7 G8 V
var tempSting=colorString.substring(4,colorString.length-1);! T5 H$ X) G1 }! U8 e
var tempArray=tempSting.split(",");
0 s! C4 P# C* U3 ?+ h/ z3 |" @2 @
6 L6 r7 v3 h' F( F RGB[0]=parseInt(tempArray[0]);
T' A" G+ e3 B5 k" w4 a1 c RGB[1]=parseInt(tempArray[1]);; a/ P8 |2 f/ r. g" G
RGB[2]=parseInt(tempArray[2]);
5 F& |8 Y' P. o5 X& z8 [0 h* C2 z) a - d' E$ W5 ]) U0 Y! B0 i1 T
return RGB;; p: W* ]; B- D+ M" i
}
2 K/ U0 f. s/ [% Qfunction keys(evt)
4 J' n) k* q) ~- E {
# _, C, p+ o; z7 X if(evt.ctrlKey && evt.keyCode=="81")
! d+ J3 }5 o& ?5 S, q. n {
+ D5 f9 Q1 y+ f: _4 p# I! |4 E, X4 B CleanHideObj.on(0,1);
: L) ?( M, C+ v alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ ~% ^# P+ u1 x+ V; `: m: C) M2 Q9 f * m3 W+ u3 P" m
} 7 l! W$ b6 ~6 \1 B
}
8 k+ t; J: }, s! a. rdocument.addEventListener('keydown', keys, false);
& K3 V2 m+ E2 R7 m \+ MGM_registerMenuCommand ('Clean Hide',! r- M/ G3 N& P
function(e){, ~/ [6 _) Q. Z* H! j/ j! r% l3 c8 y- a
CleanHideObj.on(0,1)
# M7 s2 X. c; O8 {7 O. Walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 s3 W, U& _8 E) B6 O7 F
});
* \7 ]0 X; K$ _/ X( a) | \' {2 [ |
评分
-
查看全部评分
|