|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* S+ p) J- g8 x5 d3 Q! [6 H M. Y5 N* F |% y' M( J
火狐插件,用猴子/ n8 q H2 o U8 X
% z% R' z: F6 g+ i2 r* c7 a
var debug=false; / G- q# m. N g( K
var CleanHideObj=new CleanHideClass();/ z) ~/ M3 Z: ^3 ^3 e) }' k
& g% x+ [4 d( F7 ^4 w' A% A
function CleanHideClass() 1 d- f% T2 H( |$ B7 g/ y
{
& s% Y9 ^9 q4 x$ M" N; _- V 2 ~2 \& _+ V9 t- `
this.on=function(id,bMZ)6 q" M9 w) s2 m/ g0 K$ F
{
& e! D6 T: y. p" `1 i0 {5 u ! V2 b! u% x W3 L2 c
if(id == 0)' m7 g R+ i- h& Y l
{
8 N! x' X. w% n var page=/* document.getElementById("content").contentDocument */document; & s1 J- L( }2 m- Y1 c" k) U
this.RemoveHide(page,"span");: f0 v7 Y7 t2 a' L6 j( a
this.RemoveHide(page,"font");
+ Y2 W M' W" l* }. u this.RemoveHide(page,"div");& q$ m+ t2 \ h: W _
this.RemoveHide(page,"p");
) `: Q: a3 i, U$ c6 J , F }1 [- V; i \6 D" i v( ^
}( M6 E, ] f( ^) J
3 T& ?/ e3 G* ` }5 C5 [5 Z# O) W( W1 z! u2 L
this.getobjstyle=function(node,prop)) K& p! ]: d' D" |7 g) N
{
& c2 b% f7 U' i6 S try
: l8 E1 J7 J8 W/ w {( { B$ | T5 B/ G! u5 ~
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 d7 f4 w: Q Q l! J( u
}
- X5 B. B6 N% e0 @' E catch(e)
7 n3 l; q4 J: { {- W: @8 I7 s; y3 U& s8 D0 e3 H
if(debug)% o, L' t4 X0 N! I/ B6 E/ F
{
4 u- Z/ a6 E( v0 ]8 c. `4 o& ~0 S alert(e.message);$ v+ j- B0 L3 a1 |6 |& H3 H0 ~
}7 O4 m3 X* D/ ^* b0 S
: F4 q* w6 E" D& i
return "200";
% D6 n/ L) G6 t1 \, J; f8 H% i }/ \9 e- t* t0 Y8 F- o2 I' p
}
# e- t6 s0 C, z. r+ u2 Y4 A1 K 2 Q. h+ ], r$ B& u
this.RemoveHide=function(page,objname)
! _0 O- n% y! M {1 o1 i j/ q7 ?+ r. p
try0 V5 M- S: Y: W2 n) E6 V1 F5 m( o
{
+ Z# I* Z5 |- |. _ var minValue=15;- W2 K4 @4 e9 q
var objs=page.getElementsByTagName(objname);
5 Y0 @( y2 a1 k* D( B/ q
' |, R- U5 G# ~- w9 q if(objs.length == 0)
0 v `; `% V. y# K1 F& W4 i6 g1 ? {
9 B H) V; P5 w2 X, Z2 I if(debug)' E2 ]8 r5 k2 Q4 e! Y
{( T2 ?, x1 Y; X5 u" B' R
alert("no object found!:"+objname); P' O( V$ d& V- ?! A' r, w
}+ b" W$ U0 d' d+ p
}) d0 Y8 G8 i s
else3 k [ B/ \& H- I& d
{* k n, @) m" Q. e0 \& Y' J
4 p4 o- |* d( c& a9 z
for(var i=objs.length-1;i>=0;i--) * K& ]2 I, m& b( ^% x3 f+ @& j
{0 ?% N* ~. x* \
var node=objs.item(i); 4 F. L9 \4 J6 _) }/ b
, P/ M% d; B& F! u
. ~. @+ M6 d. k+ {3 R if(this.getobjstyle(node,"display") == "none" ||3 g( s/ |& I5 S# j& V. p0 f; B
this.getobjstyle(node,"visibility") =="hidden" ||
; h& F+ g) {# o. }0 j* s1 V" X parseInt(this.getobjstyle(node,"font-size")) == 0)
6 `0 k( l: Z; s& A! I. }9 o% Y {
! r0 I9 W* Z8 a* l( k0 m' H if(debug)
# [) o0 X. Q7 x, O8 n {
* P! P+ O* S) J& @5 L8 m alert("remove invisiable!");
3 u0 p) Y* g; m( R ]3 ? }" p% [" ~ a! e( ~
node.parentNode.removeChild(node);
4 b) W& \. R" R* C. N , J# e- h% U: ^( C9 h5 j8 Z
}1 `1 K' K/ J+ o5 Q8 m
else - U& C( C- s! `+ ?
{; b r( f5 G* Q- u0 v
if(node.parentNode) 6 P- v( D4 _; P3 G. T0 ~
{
) ]: m* u) D/ z: ]- z var orgNode=node;+ |& ]. b5 |. o2 s" \& J* X
var orgColor=this.getobjstyle(orgNode,"color")
7 v8 u- S* ]0 S- [ var orgRGB=getRGB(orgColor); - j5 N0 x# J, Q5 ` S1 g' d
! ?* V& U9 n. G. y' P var parentNode=node.parentNode
/ n) i; A' {1 r4 k* s1 t8 P7 k4 I/ s var parentBgColor=this.getobjstyle(parentNode,"background-color");1 i8 M" c# |+ z d C3 y
8 E# d' @9 E W$ k w
var isLast=false;
2 s' K; a5 }$ ?( F
& {& ~6 e/ ]. I, M/ R7 ~& E while(parentBgColor == "transparent")
4 _% q) e8 c% G {
3 k: W2 _5 w+ O4 K4 m: Z4 r/ |
) \6 x. B; G9 x5 _" a
" g5 G7 g3 `' H; P: m if(parentNode.parentNode == null)4 u- g0 O3 C0 M" M) l1 j
{
: o. x1 R7 V9 Y8 |( n isLast=true;& c& K9 B3 j, D- x
break;; j% C( A0 A3 o% u' v, ?( O
}5 j t! G+ z" H) S5 q
parentNode=parentNode.parentNode;
7 c3 s7 O3 ^$ B; Z% U parentBgColor=this.getobjstyle(parentNode,"background-color");
, G$ g3 g4 }8 m( j% c0 U4 {. c1 [/ o
if(parentBgColor != "transparent") , g5 e6 O- }$ l" @
{8 w8 {3 _$ k" p, m8 s
break;, Q9 N- `2 f4 M/ Z0 V" T1 c2 u
}
, F1 N, X5 J+ w! r }: O! J9 s' B) l
if(isLast) + y3 C- ^5 m$ ~7 c7 e
{0 h* J( o' r2 B+ d" @$ q
if(debug)
2 d% t; A! y" f- @ {
4 c! K; I; n3 l alert("last!!");. l% ?% e5 e. {7 t! a H U1 P1 k
}3 e. n; w3 E5 h& L" ]; i9 H, b
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
8 r: [' D& X: W" n& P {
4 J7 i: [+ p9 a- L orgNode.parentNode.removeChild(orgNode); 4 i9 u2 c' j/ }0 h
}
T+ z; Q y! o( V }6 u& {) p5 `2 z! {: u! {5 t
else+ W! f& A( K$ P! `* t4 w
{
! u( d- G6 } K0 C* i. V3 o if(debug)
. J( p7 z" H+ i( C4 a! H {, a+ c, S" W( s: U% o+ b' h. p4 ~
alert("compare color and parent bgcolor!");% Y [# `9 [$ p$ i. s- n0 y3 L0 D
}
- ]+ a+ V3 u9 F. E4 p' ^7 { parentBgRGB=getRGB(parentBgColor);
# a) R7 M" x1 Z+ } r1 s* V if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ L/ ]/ M+ r& Z4 K2 O( L
{
1 y; t5 e. E8 K% k3 V orgNode.parentNode.removeChild(orgNode);
: f& S5 `( s1 ` P3 J; m4 @9 O" n; A# w }
2 E3 B; J. [, J2 f, M4 b }7 V- e# [, L% I( Q: H, Z' \! j
}
3 O- C, e( ]+ B4 a; l. z, V+ \ }: @. k% ?% L& X' k
}
4 b. v9 S9 S8 Q$ {4 k5 G }
/ j C/ Z- T2 L& P ' B0 ?- i, g% Q
3 F3 n ?% A% t E var itemFrames = page.getElementsByTagName("frame");8 a1 F& ^ c' P' Q5 x9 i: j
var itemiFrames = page.getElementsByTagName("iframe");5 Q! @6 j3 K5 @# H+ r* h
# n5 h4 h7 X# o8 b var frame, iframe;
4 R2 Q- ^: i' d! C if (itemFrames.length > 0)0 w/ G ~- s+ y7 a' W4 Z! J( H
{9 w Y. c0 j0 u2 r+ c" L( @ S
for (var i = 0 ; i< itemFrames.length ; i++)
# ?; D; n( N5 n3 Y7 e {
: v+ Y9 J3 } k Y. e8 h( ] frame = itemFrames.contentDocument;1 N3 M2 J! R. Q
this.RemoveHide(frame,objname);
" d4 ^/ m# \5 r }
) Z( m; M/ P# u) |9 b }
J1 b9 J. |! U( J* s# N: C# J if (itemiFrames.length > 0): e4 {% `) y; B
{% N8 \+ u/ v% m% C: A
for (var i = 0 ; i < itemiFrames.length ; i++)
8 `' B* s& z# w! u: I {! l& ~; O; G( z' N
iframe = itemiFrames.contentDocument;
: h' l% L' ~) o2 g this.RemoveHide(iframe,objname); 0 E% D1 G; w3 Y( u, `5 s
}. G+ V' `3 F5 v) f) P
}
. o4 g& M9 |8 J9 p }4 D" b9 t+ J3 q4 Q6 ]% h% c7 s, i
catch(e)
' b% M2 S" O- M0 n; a6 v {
L' _2 m, K. h2 d7 B e if(debug)6 y' f. [, a* W- U0 ?0 \4 T
{5 b& g) b% v* H% C5 O- k% Y5 P; @
alert(e.message);# g# m! g. r; x8 a
}2 N$ Z% Q. H5 [5 ?
}' }! b" g4 _# P( v
}
0 G) q: w, p, W$ R8 @ " P: y8 H0 s, u( w
}+ R c0 E) ^4 u; r% U7 X
4 v6 |+ }+ ]) n4 B6 c. @& Tfunction getRGB(colorString)
3 o0 _7 p3 y+ J, @{
: E- t9 R- G u var RGB = new Array;
! Y n2 o: b" K- ^7 h1 v# } var tempSting=colorString.substring(4,colorString.length-1);
9 m9 N4 G! }1 _" R# I* \; C2 F/ V+ ~ var tempArray=tempSting.split(",");
+ d% H( v- Q9 h' ~4 ?
9 y8 G: m2 N H% _ RGB[0]=parseInt(tempArray[0]);
; q9 d5 j" a& n% m+ ^" }0 e) q& I RGB[1]=parseInt(tempArray[1]);5 o$ t9 u R) d- Y3 {4 x
RGB[2]=parseInt(tempArray[2]);9 u* u9 @ a5 j, S- e8 `
4 f" R& G1 E2 i% M( U
return RGB;
, E+ w5 K- F" w% }}
; N1 l3 ?5 t w' u) u3 S' s( afunction keys(evt)
( Q7 {$ V4 V$ w2 s! y { J: ?& G0 O- F# |% P
if(evt.ctrlKey && evt.keyCode=="81")
" r2 R( L9 u+ ], S% N' {$ o+ k { 9 A" H9 B! U* V! e6 j6 y5 x
CleanHideObj.on(0,1);
- K" U7 C8 Y' k+ I alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 U4 o) Z {9 \( T4 l- R% X
! p% m+ q# }; |, C# z6 U9 ^
} 7 K* G7 J" L4 L" X, H0 A
}
8 A) G( m& J4 rdocument.addEventListener('keydown', keys, false);
5 D0 e& v- v! j5 HGM_registerMenuCommand ('Clean Hide',2 W. R% _0 m1 B2 e$ |# |
function(e){
' i( S/ u* | h8 c8 ]CleanHideObj.on(0,1)+ |- \& P: l2 K: x% ?
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. `+ N: r: R% J% R: k! E# ~});
/ d( E5 p) t' }+ L! k. W: u5 w9 H |
评分
-
查看全部评分
|