|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - O& R% R% D5 ^6 j
, b; \' v( m' U: l* [' g火狐插件,用猴子0 g4 u( r) g( G! e m; T: ^; `
* s* P! `# Q3 r/ a* T# c f' {
var debug=false;
( u, w- r4 {- K6 u! D1 g! B/ _var CleanHideObj=new CleanHideClass();! x; J2 `! c3 R- K- t7 u
4 j) z* s+ E; ?/ G" Efunction CleanHideClass()
8 Z% G( I% X( r{
6 e) Y5 @" _8 ] ~: V2 c% M3 `( A
- T8 f/ ?2 a8 M" f* w this.on=function(id,bMZ)7 s8 ]0 w9 k+ g6 m( T0 \
{- E5 X7 _* _: p5 _3 [+ @) M% r
( o; [. p9 z: Y3 f if(id == 0)
- X4 R! N( P" L+ x+ U$ K) u {
- i1 u t0 L1 o8 ?2 \" x var page=/* document.getElementById("content").contentDocument */document;
% V9 G: F5 c1 J: b! g this.RemoveHide(page,"span");
4 c2 c9 h& `7 o' f @ this.RemoveHide(page,"font");
! C8 M" Z. `; ]3 ~# Y9 G this.RemoveHide(page,"div");
$ W- i) K5 y: Z: q0 l this.RemoveHide(page,"p");1 R, g' `* ?5 P, {
; e3 i8 C3 I# m ~8 ]5 W
}% W( k9 c+ Y+ g6 V: |& B3 _
( {7 v0 F" ]" X4 }$ b% H }
t% i7 v. p# S this.getobjstyle=function(node,prop)
# P, W1 f. }) a4 ~* q, w6 V- Z {
0 Q! z! J, a; Z) G: O* { try% r) s/ S& G0 j4 p) i
{1 I1 V0 t; L- e# W6 K' d! P5 y4 D3 H
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);/ Z5 c n$ ^% N$ s6 U5 a" Q# K# m
}8 ~ R y+ s. v# |8 d
catch(e)
. |2 A6 G. I* x9 M {3 k4 \: z. Y2 D+ c0 A0 n' ]
if(debug)
, `5 |, V7 ?6 S {/ a v( j0 W* k' B
alert(e.message);
# `0 f, V7 t# o0 d }
7 t! P3 l3 k. c# X
7 P% i& u. h6 v: G* D. [" X9 Y. y return "200";8 p' k. o8 R. q6 j% Q) g k
}/ Y9 P/ d W1 ^6 E+ q+ O" ^
}
/ ~& H5 L' h5 m0 q* [ " L+ s5 h) }* k7 O1 l
this.RemoveHide=function(page,objname)- d' A6 h" \ q. Z1 i4 e
{" G& J# R# R0 s
try
* t0 @, @6 d; {- u' o7 ^: w {
* k4 C' L: q9 x4 x Y2 l) p- B var minValue=15;
" L+ [2 p( V( [( r4 W: N var objs=page.getElementsByTagName(objname);
0 k5 @& U0 L ~) T- e1 L5 f
/ s( P7 Y7 r1 s' ?0 W: ]% j if(objs.length == 0)
3 s: `7 E8 G1 w2 E9 Z) i T {$ d% V8 l( _+ L. U/ e9 S
if(debug)# O1 l0 N( O5 o; {
{! w ~. }8 \; z
alert("no object found!:"+objname);
" d/ { F8 L0 Q }3 c3 N8 H4 p" |" c8 ]) y" r4 I
}
' S. F. d( y; X else
3 N8 H5 q$ C4 s+ `! J {
$ P: V$ Z6 Q% a" h( y& J( ^. s
, z. t* o- D% t) x for(var i=objs.length-1;i>=0;i--) ( j- p! m( M* s2 Z: z/ x
{
1 x( ?6 t$ Z* w2 N var node=objs.item(i); & h8 ?2 [/ @: ~; d
& L: J8 X1 `5 e" N+ C - r9 X/ ^9 B& U0 W, ^
if(this.getobjstyle(node,"display") == "none" ||0 d$ d( z) B# a+ R/ K0 q; H# d" ~
this.getobjstyle(node,"visibility") =="hidden" ||
) I$ f) ]; d6 H" M$ y. O* D parseInt(this.getobjstyle(node,"font-size")) == 0) % B& p1 O3 o/ x" _! e6 C4 t
{
9 C0 x. Q3 I5 I if(debug)
2 F1 i& b0 m, V4 V# \ P4 } {
0 O, m3 j+ m7 e; Z5 q alert("remove invisiable!");
3 s( z0 I. V) r" ?* x) |* W }
8 O$ S/ q! O; ~1 M% E; T m7 W& n; D node.parentNode.removeChild(node);# |, J# l& a! ]& O( l+ @7 Q
7 P) U2 X- ~1 z. P* ^ }. X0 R! m4 r8 A
else
- M: V' x3 y$ N5 Y7 v( Y: w {
6 `0 o( i2 p/ r+ ^" m! j: | if(node.parentNode) 2 R: A4 }; ?* p# Y+ P
{" P# B3 Z/ s3 B5 d/ r$ g# g* A
var orgNode=node;
" {9 [6 t/ b! W3 {3 B: r var orgColor=this.getobjstyle(orgNode,"color")
- M4 p; q# u- H5 e- p5 S2 n: W; C+ e var orgRGB=getRGB(orgColor); 3 B7 g+ }( a1 u7 p& r
: {) R& ]$ f1 k+ h' a1 W
var parentNode=node.parentNode
% R7 M% A- o+ v' F4 i var parentBgColor=this.getobjstyle(parentNode,"background-color");6 \7 x6 j- `: r. }8 r8 [1 C
9 U# S9 V& [8 [+ O% V9 a" z! k
var isLast=false;' h' Y' W5 ]/ K& G3 f: }8 u
! n* U; C7 c4 N& z& g, I
while(parentBgColor == "transparent") 8 q- r2 H- l* u! w3 y
{. A9 Q+ f7 G3 Z% U% t- A& l/ O4 A$ e
, V3 O3 e7 {: [( ^" ]5 S: _ , Z, r7 E! q% G! t
if(parentNode.parentNode == null)
8 s7 D/ ]8 a1 Z8 Z {2 ^! \9 |. F/ G( H9 a2 F% y
isLast=true;
9 `1 Z' G$ P: n break;; F) [. j. Y( r; e% N$ |9 ~" \
}
. V0 c) s) [( U; O parentNode=parentNode.parentNode;
; T3 c0 ~9 w7 W* ?" s6 {" P0 ~ parentBgColor=this.getobjstyle(parentNode,"background-color");
& v3 u: s) \5 `; O2 D! F( u' ^+ i
if(parentBgColor != "transparent")
. j$ d$ F' ?$ H' L3 O/ v3 ] {- N7 s! l U, k
break;
. c# U6 ]: N7 u% k6 k }
+ U, k* Q+ S# s& f) y0 J }
3 K/ Z) U! D3 }- C5 o# \+ i if(isLast)
; |! [% l) j* q {. i7 }8 @; J+ ], B2 S
if(debug)
: Z \4 y( {" d$ i0 d7 w {! J# Y7 J" { F; c( f, z
alert("last!!");
: o" `$ S& t: p" Q }$ N/ S, j& J- p Q; Q% a* j
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
" J/ e/ M0 s& t2 ^0 y$ W6 d; t {
) F3 W. m& K4 j2 O# ~) [# c7 ? orgNode.parentNode.removeChild(orgNode); 6 M4 ]% d9 B0 E
}
# B+ W9 }# U- m$ d, z* f: X }8 J! W" L- d8 I$ M E
else
& \$ n' P0 I0 i( m {
5 ?6 g! \" L/ S, l1 ^ if(debug)
$ K7 R! t: b% I {
. x/ q# P7 t! Q$ L$ V* Y) G alert("compare color and parent bgcolor!");
( O7 U% k0 c, D) n1 i }
8 T$ K+ c. V5 n ^- F9 y. _1 o parentBgRGB=getRGB(parentBgColor);7 z9 q7 l% _' Q4 v1 T
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ P0 Z* ^" h1 |. i# Z* W
{
% r5 d1 x+ r5 u( I" R1 s orgNode.parentNode.removeChild(orgNode); ' |; G! ?% ]5 A# F/ ]+ O
}
! X- `3 M; S+ G8 C/ c3 ^ }
' R- `# P" N$ {0 H/ {! _! `- R0 k }4 k5 T% J$ f% w* \; g* o" T s3 R
}$ W. G7 b; }, R; x
}4 O" L2 s- \, v* t) J- f
}
r9 e; U: R& @7 r! ^* S ( i) x( m( Y6 g( m. C
% u' N* B' |8 ^/ a3 m+ W var itemFrames = page.getElementsByTagName("frame");: s: k V3 U" o. Y7 l5 E
var itemiFrames = page.getElementsByTagName("iframe");: {; [3 t1 F8 [7 @5 G
$ E& a1 [& D- d7 U var frame, iframe;; r& |8 {2 N- k
if (itemFrames.length > 0)$ x1 q. i9 b4 d0 w+ q3 A
{+ ~; Q8 A5 P2 o' ~
for (var i = 0 ; i< itemFrames.length ; i++)
( b) z; U! J+ H8 b* A {
. e: s$ c! l2 r) Z frame = itemFrames.contentDocument;6 z& T$ E( d# i: r4 N' i3 Z
this.RemoveHide(frame,objname); % |, s& S! h6 O, C0 k% l
}& q) [- ?5 z: h1 t# c/ _2 w! X
}% h5 G+ ]! f( |
if (itemiFrames.length > 0)
2 |$ z. z1 G: d {% k, P/ `/ S0 a* F- W- t' o
for (var i = 0 ; i < itemiFrames.length ; i++) # J( `! \; i' {) D
{) o/ n# d* s$ L& ^
iframe = itemiFrames.contentDocument;8 ?+ U3 ^6 S& i
this.RemoveHide(iframe,objname);
1 F8 {% e# h3 z! }) }0 a1 Z }
3 d# p4 \" A. E q8 W }9 A" R, ?. n( N: |7 T" B
}
8 w! c+ L8 T" ?# q catch(e)
- J9 U; E2 `$ L O5 c {
5 V" v% k4 @/ m4 P if(debug)1 [# P8 |4 X9 w/ B# Q2 A/ i) |
{1 |7 E' j2 Z+ N
alert(e.message);
6 R; x9 D0 s7 L }: d+ k+ B# a+ ~
} {, g F; V+ p4 x
}2 [ p+ L( v( m2 Y0 U5 M
6 N9 `" k5 ?5 _! s! _
}, \% f. ~6 \4 _# f
* f! r, I. ~ P B% L5 P7 j
function getRGB(colorString)( k3 e! t" e& r+ ~" ~' D
{, K' o8 e0 f6 m& C9 Z
var RGB = new Array;
8 v: R I; Z: C4 _6 ]( d$ H var tempSting=colorString.substring(4,colorString.length-1);+ i7 o7 m% l# y" U- ?* s3 k( q- W
var tempArray=tempSting.split(",");7 f* v+ D; Y2 e3 ^
: n$ U$ z, l, a8 d( A$ F RGB[0]=parseInt(tempArray[0]);/ @+ X% T* ~- U1 W9 ]
RGB[1]=parseInt(tempArray[1]);
. V3 e, a4 N- \% x2 G% R( ^: } RGB[2]=parseInt(tempArray[2]);
9 [7 ~! ^9 \1 y# N+ ?' b5 p + q# L0 Q% a/ I. Z/ l
return RGB;
; Y$ V9 M% K% t6 z5 k}
) I L8 c' Q' X8 \# O8 Q3 kfunction keys(evt)
6 Y! z, N+ E k0 c {
& K! s3 R% G/ {0 U9 B if(evt.ctrlKey && evt.keyCode=="81") 4 G. h1 }4 ~ v- c4 n
{ 3 ^ C# T: Q7 [" g* E) L- U
CleanHideObj.on(0,1);: q. z% F, `: ]+ Z y7 g0 C
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* z3 [9 Q1 [; k" N/ J" q * g* g- v& b5 y4 a( m3 w. Q; U
}
5 W+ E- A; x+ Z9 p } % t3 Q* y: P% ]1 t- G; b
document.addEventListener('keydown', keys, false); 3 [; l! I5 m1 [
GM_registerMenuCommand ('Clean Hide',
4 U& t9 o6 {2 b4 L: e' z% Bfunction(e){
, N1 g& V W4 e( @* DCleanHideObj.on(0,1)8 K! _2 Y) f) c
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");( b" `6 q* T V0 F2 w- w
});/ K5 @9 X" Q% h" |/ J! O
|
评分
-
查看全部评分
|