|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - m' K4 {) y) R5 l0 B1 \* d8 c# T
' w- }+ n* i I% d1 ?5 L
火狐插件,用猴子4 |# V* g" } {
( `. D# S4 S7 A7 J! g7 V
var debug=false; 6 o- q* {- l: F8 Z
var CleanHideObj=new CleanHideClass();
8 F; x9 v2 A; g3 `# |$ W2 k. k7 j6 S! v% F
function CleanHideClass() m3 f: r6 j1 q1 m) s
{ : b) {6 Z4 c% E0 X6 F% C, Y" ^; x
1 S6 ^5 N4 ~8 I. p$ z# x this.on=function(id,bMZ)
" ~7 e8 L- L+ Y/ k5 P: q7 ?) W {9 b3 z* X: v( J/ b$ W& _
% [* d/ ?, A; N, W2 H0 w
if(id == 0)
8 c) P3 x o3 |' ~. a {
% ?' i& ~5 T5 a# s var page=/* document.getElementById("content").contentDocument */document;
+ m: `# W+ |9 }9 m8 H8 {& x9 l this.RemoveHide(page,"span");3 t) P; z/ k) i# s& Z
this.RemoveHide(page,"font");5 K" v N0 o8 q& I
this.RemoveHide(page,"div");4 G4 r# S- i. L( c4 Z
this.RemoveHide(page,"p");
. J6 j$ n5 C d8 a6 Z* d; f
* y. O I/ |) W1 k+ J, n$ h9 d }
* x# s* S1 D6 {& F$ ] ! J& B \8 {* o! u6 U0 g( ]
}
3 \. O q& L. _$ R f1 O1 ^ this.getobjstyle=function(node,prop)
; `3 m6 y U% i0 ~& G: ~4 `( ~ {
9 \) x: \6 v s0 Q7 j0 P# ? try
8 s( d2 F; q$ q0 Q$ G {; J8 J/ S: K$ }0 ~) p+ u* Z
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
$ o$ l0 p# N5 y+ r, _6 ~& t8 a; _ }
2 I% z* S8 g0 |7 o8 A3 o# ]; f. E! e catch(e): J/ ?' c3 s5 j: W( E
{
. k" Z; z( J; Z! T) d1 d9 @9 ^ if(debug)
' v* Q6 G$ N' v {
& T. W1 O/ L& W" [3 M4 L z) j/ a! o alert(e.message);/ B7 v$ e1 h h* }# o5 [4 g
} R" E5 t. o0 h8 C5 @4 X: s
- s* x- y; S" y z return "200";
! \/ c& \& T6 g5 `% G, ?4 O3 M }
% G ~* P7 b2 Z' v1 { }
' I6 ]5 Z R" w2 T2 Z4 H6 \ 4 R B" a2 Y& \0 M% e
this.RemoveHide=function(page,objname)
. Y4 w+ V& |1 \& x5 J6 G9 J/ D {* D# c# \7 W$ |# F3 }) q
try6 I. Q5 u3 {$ I5 e( M# y
{
U0 D! O, x6 G; ~( K var minValue=15;
8 A2 D/ U" S3 x var objs=page.getElementsByTagName(objname);
$ M# `0 g2 p. X% q1 B9 }! }
8 Z, \: r; S+ Q4 l5 b if(objs.length == 0)
6 K2 b+ N) X/ W1 t {
/ N; D: {4 n, E, ]( @. {: ^2 c; i if(debug)
& l# I% d: S; U {, g8 q5 x s: B i
alert("no object found!:"+objname);
2 D! O% F4 M, J9 U }% o* v( E. B7 c8 q' N0 i/ o
}7 I7 f, ~# n r w+ `" y
else9 I) d3 n3 _" }: q
{
' L1 d4 z L. }# F8 m
7 S9 d" F+ m1 t# ?9 q3 _ for(var i=objs.length-1;i>=0;i--) ' o' m' a' p) ~
{
8 F; o, b$ w& I+ R- a1 e y+ x# b; w var node=objs.item(i);
: X) [' x3 H# w8 q( Y4 ?5 M + \2 e8 d" I b5 t5 m% I
1 Q7 D. t! m1 k- c
if(this.getobjstyle(node,"display") == "none" || A5 F5 B; \. Q8 D9 f
this.getobjstyle(node,"visibility") =="hidden" ||
) R: ~& P$ Z/ _, [: h Y parseInt(this.getobjstyle(node,"font-size")) == 0) ; i; R1 q* n0 {9 f) ^* J
{. ~" Y- d& h, @
if(debug)
, i5 C) m7 v: K+ ]. K3 o {: ~7 X5 @/ J& m' X2 t8 u4 h
alert("remove invisiable!");/ n6 `* m* [9 Q8 I
}0 q! \* [2 r8 `0 ?& S4 R- H( N1 ^
node.parentNode.removeChild(node);, Y4 P9 k' h0 O) @! M
; q+ `3 w2 G; H- i0 F0 [, L& r
}) H; w0 y4 X/ K$ z5 g
else 9 e$ F$ p. w+ J; r
{! ?2 i5 r$ {- A. ~3 `
if(node.parentNode) , z5 O! a( s8 \- Q% x) h! G
{% m$ N( r0 f+ Z7 Z1 W$ C; C; f
var orgNode=node;
8 x }- G) y, ? var orgColor=this.getobjstyle(orgNode,"color")- X# G; p7 J3 v
var orgRGB=getRGB(orgColor); 3 v% `1 M+ v3 u! @9 F3 `
# r& m: x! D& ^9 L6 i% `
var parentNode=node.parentNode
/ F6 l1 N) J( |. i/ Z6 l var parentBgColor=this.getobjstyle(parentNode,"background-color");- N3 V+ k* ?0 {1 s( f& U' R
. y# h6 |6 v+ `4 W# ^+ J var isLast=false;
) m& Y4 i+ I" z7 n4 a5 F
9 A t; {6 c8 E9 s7 Q while(parentBgColor == "transparent")
7 Q6 b( V6 B U {
1 _% ^ X/ Z5 B4 I. L3 A9 x / `, t0 {3 ?2 h0 G$ P+ S8 L1 O& @
$ D3 K u" ?8 S. J
if(parentNode.parentNode == null)) G T% X) R8 T/ |# K4 ~( x
{
1 _+ Q+ Y2 |$ }* h6 Z, z/ s( c isLast=true;( ?& p1 O3 s7 L' i; U- P/ E/ {4 B+ V
break;
: l5 Y6 s- w* X1 O" B }
% ]; w/ {% p& P# }) c. C parentNode=parentNode.parentNode;
9 V/ `, i4 x5 Y/ I3 N- d8 p; F- t parentBgColor=this.getobjstyle(parentNode,"background-color");
$ J7 Q# c. L( B" X `
. d# k+ ^4 }# F D& j/ L if(parentBgColor != "transparent") 2 Q) U* B; ^ |% q# ?: M5 b0 i
{1 ~$ P5 ^$ ^5 p8 P
break;
/ u! I' T; w- W* Y' G& \ }
' l# {; V6 \8 s. _2 Q, i; I }
% k1 N# _2 Y$ s7 c9 D- {1 N) q if(isLast)
8 D* V8 g1 |+ z! Y: S8 B! Z) _ {* r8 d: s" U/ [4 W d b
if(debug)
8 F s& W* Q6 p# u {
7 n+ {8 L% l5 i ^8 D: s0 B6 f8 L alert("last!!");5 W4 o# p+ W# {5 W& r9 s# A9 k% K& h
}; o+ L# b& G9 c& [
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
) Y: W5 e7 X, I3 Q {$ t% G; s( H* t/ z" q
orgNode.parentNode.removeChild(orgNode); * G) ?- Q! J9 V# P! H1 \
}8 ~; T$ \2 @. q7 ^9 q G* I6 ~
}
8 E- _5 j0 B( x; t6 Y else
s$ s9 \* m' O/ c4 e {
, L( i4 W- @& Z, B if(debug)
: }- }' ?8 w8 Q8 }9 g% a" g {5 z- Y* ]% v# r* |: z/ |5 n
alert("compare color and parent bgcolor!");6 q5 n) A( M v5 Z8 i. C1 J# n2 X
}
9 y ~( P# G$ a0 `4 y parentBgRGB=getRGB(parentBgColor);
) r- B1 w0 @2 |: [ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
) O+ H! p) z3 j) B# O {8 y4 \& i( s1 m# g( w/ k9 Q
orgNode.parentNode.removeChild(orgNode); % Q/ k* }) s2 h5 l2 y
}
. }8 O7 Q$ G) G# Q. F" B } D1 G9 I/ K8 i* o; j' I
}
1 ~; p1 B( |* M& w0 e+ H8 u6 ` }
i* P2 l' i* B0 O7 ]8 b }
$ L, T4 m# Y5 n, s" e5 b% v }; }& q2 c# B( b: F
3 y; G9 G, |1 X* n
- \& d3 C& [9 w% W2 \4 a9 W var itemFrames = page.getElementsByTagName("frame");( K- X9 X- j( z2 \0 J, R1 L
var itemiFrames = page.getElementsByTagName("iframe");* E- L! M2 \: V1 f" G
3 p! z" E( f5 [5 i: @' V. c
var frame, iframe;
0 G4 \: l0 l% O1 e# U/ a' e% ?: \ if (itemFrames.length > 0)* h# v) n) \; ]7 R) H
{
+ u* u6 N5 e0 y5 z5 h for (var i = 0 ; i< itemFrames.length ; i++) , E2 ~% L9 L7 g2 s9 ]
{# Z3 i% a/ }; L; l
frame = itemFrames.contentDocument;
, R; s' n% c/ r7 ?7 ?2 ?7 F this.RemoveHide(frame,objname);
: ?8 k/ w9 {; g! _" k6 j+ T4 o }5 N" f& L( Z- p8 S# `
}
: X6 R( |5 ]1 @2 c; P2 N if (itemiFrames.length > 0)
6 `9 V( r6 {) Y/ X {
& U8 K+ y0 L+ L1 M$ Q0 }# L for (var i = 0 ; i < itemiFrames.length ; i++)
% G5 e8 A% r; s( t; } {
2 B7 v$ f. b& F" [& b iframe = itemiFrames.contentDocument;
: p$ i: F0 S6 w! ]2 _ this.RemoveHide(iframe,objname);
! A# G$ K( c( P- E4 A3 Y }6 \+ ]. Z$ g; ?$ s% v8 U
}
) H+ W y8 c$ J- l% I }4 ]% M5 I: S8 p
catch(e)( p$ C0 Y& \6 [3 n- \# j
{
6 V+ l+ i% T+ B" r% ? if(debug)
0 p! a$ a* t5 ~8 B- J5 i! _5 _ {
$ c8 l5 L; n# X+ }8 v# B2 ? alert(e.message);$ e4 L8 f* a1 F/ m; m4 P+ Y
}
) r% \! I! C$ z2 `# \ }3 M# r) F4 H& ^% q0 h
}/ [: A1 }8 i+ m% e9 [
" X2 R' L9 ~( W/ H* E1 {
}. t1 Z. E. D6 L- I; E" I1 X) m
. t# _( j; N5 j8 B+ s6 s/ p
function getRGB(colorString)
# |) q8 l" k: ~% x{
9 |; w& B# V* h1 {5 \ var RGB = new Array;$ e; _ G: o. z% u
var tempSting=colorString.substring(4,colorString.length-1);, l% B1 o/ n4 {; a
var tempArray=tempSting.split(",");
2 U9 t. ]* ?7 Z. y7 e/ ^& B) ]6 A
1 r3 D& K2 N K4 A/ _' s RGB[0]=parseInt(tempArray[0]);
7 s4 `! t6 l8 w0 G* \' J RGB[1]=parseInt(tempArray[1]);
; ~7 X8 m9 f% T RGB[2]=parseInt(tempArray[2]);
|2 n) S8 O- O0 t
; Z- w7 p2 P. \: ^$ e- @% X return RGB;
8 n' a/ Q0 @: t2 S) x+ n}
: a [& }* D8 c, E! a4 ?: q$ Afunction keys(evt) . o, q5 P7 s" O+ W! y
{ 2 P+ [( a3 q4 B
if(evt.ctrlKey && evt.keyCode=="81")
. a6 n8 E) ?0 c { " m4 M, E- P6 u" ]4 g
CleanHideObj.on(0,1);' G1 a |& K& ~, h. \8 J' \
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); " s6 S/ O) R" F6 ?0 e7 Z) M2 f
' ], E5 }" I7 T( `
} $ X- c. I' } J7 L$ n; |
} + w; v: ^ ^3 g: c8 T% V; l
document.addEventListener('keydown', keys, false);
7 |, ?4 [9 Y% j. v/ k/ tGM_registerMenuCommand ('Clean Hide',+ _4 G3 Q- |- P, C7 {# |, ~4 y
function(e){" @1 W( ~; v0 Y/ A
CleanHideObj.on(0,1)
: ]& r& r m7 o; P; z2 ~+ j7 galert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, P( f% h; o: X- o& V$ ~
});; P5 ~( E; r8 E, g
|
评分
-
查看全部评分
|