|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
$ T$ e# {5 d# }# D
0 o8 V# a6 l' f1 t. ~8 @& @火狐插件,用猴子1 O0 w, G% P, P2 _# Z
% w/ c& e/ n0 |9 ]* J6 M7 v+ avar debug=false;
( [& T; w q) ]% Ivar CleanHideObj=new CleanHideClass();
+ T$ ~3 |9 _& F( B* A$ }( o/ c& f! M6 W( Y
function CleanHideClass()
- ]7 p6 i5 |7 {# o* l. r+ C: x{ & } a/ N- i/ Q9 y- g/ S
! f$ C m: T/ i this.on=function(id,bMZ)% M- a: i) A0 U
{; [+ _3 \2 k# [9 |
& L6 X* x$ A. V, K' z L
if(id == 0)9 W, \- |0 D3 x3 s
{9 n6 C9 ^! V2 Q! n& W
var page=/* document.getElementById("content").contentDocument */document; 5 n8 L; [0 T7 x d; w. X
this.RemoveHide(page,"span");
$ o- Y7 G" k7 o* | this.RemoveHide(page,"font");
1 r+ H9 X% @. [2 A5 p) k this.RemoveHide(page,"div");
* D9 B& ]' P+ N this.RemoveHide(page,"p");
% [3 u$ i3 t' D5 Z
' B/ q" \; A0 I- F$ c( } }' E& ~9 a( |" O8 a, i/ b s
% d+ j# h1 e! n2 u4 \ }5 W: M8 y, x* I
this.getobjstyle=function(node,prop)7 M: t' t! b, i# h7 l3 G
{. V+ `! v7 r! q+ V. c
try
7 N: Q- ]$ f2 B {1 \3 N6 J: _: B# h& C7 X" `9 u9 z
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
4 S+ w0 _! w3 X: W1 L, A+ n4 u1 w }+ u* p" z3 u' I, `! z3 `" p
catch(e)9 L: k! d1 B6 D$ z
{$ b8 p% y" K' g; Z; D: N; S# s
if(debug)
( G3 c3 b6 [5 W! g+ J {
6 |/ h. P. n: m$ y0 [1 E+ u9 E alert(e.message);9 g1 l6 e& s( v' Z) s- P1 ~
}* j- T7 ], u' D, l/ D2 g
4 Y& o$ u) ^' ^0 j- Q2 g5 |% I* o return "200";
3 j# o/ U* w0 p! ?; d }1 m) ^# O( w' V' `$ L8 B
}' {5 V, v5 u1 G/ a
4 Z5 _+ y$ k9 b, ?4 F4 A this.RemoveHide=function(page,objname)
) o! w" T, l9 I9 e {2 ]; T' R2 D- o( b6 u
try
) N4 k/ w1 @4 s+ j {' v, T0 Z3 H/ g+ G
var minValue=15;$ J" i& z$ m, z& w H
var objs=page.getElementsByTagName(objname); 9 _) Q/ ~( v% Y, v, F
1 ]+ f) C. x0 ^% F+ F
if(objs.length == 0) + a2 j$ O& W, U
{7 Z# N6 ]+ a" R" S
if(debug)- ]7 ]: g8 y: B4 J+ E! S, Q6 O
{1 x4 N# w. C/ U" q* Z8 R
alert("no object found!:"+objname);5 q% O/ y2 P6 u: A7 \- u
}
# f6 ~& i# i' |) X5 v f% K& g }
6 Z& F' t% m9 N$ N else
4 [1 i5 n9 }4 H/ q4 o+ f {
5 i. ] _& T9 w
, Q$ [( u7 ^5 G) x: b% X for(var i=objs.length-1;i>=0;i--) 9 @ ^6 [- p4 Q' R3 R* c
{
, f6 r7 [: s+ F L7 {( T- T" c var node=objs.item(i);
! ?$ P- n; r% I9 d$ X' X; A1 U& f
% c, A6 @2 Z4 v; x5 m) z+ `
" q& [- k- K0 ` ^) y* Y" Q5 l if(this.getobjstyle(node,"display") == "none" ||( U- k s7 M8 X
this.getobjstyle(node,"visibility") =="hidden" ||5 O1 b0 u( b! b. b, p1 q9 o: D& c
parseInt(this.getobjstyle(node,"font-size")) == 0) % L! d6 n( B' s z" N
{
' l0 L# {1 L8 O if(debug)8 x6 }9 [5 K; r* H3 D% D. j r8 c4 {
{
8 ]1 d3 ^$ U8 P, N alert("remove invisiable!");9 B; L7 G; l3 u% [3 O/ ?
}& ]# U6 A7 V# W. ^7 d v. e! r$ e
node.parentNode.removeChild(node);& h* Q; E" ~3 }
0 ?, W$ L' y0 D# y }
7 q" ?# H( M Z, l% H# F- t) k else
2 |6 {# @! s9 |( F {) U) U' A, l8 h1 X
if(node.parentNode)
a/ W3 U3 R$ I5 j {: p- U$ h, ~! L$ C, p4 b( o }& V
var orgNode=node;( Y2 c5 E& P% R0 a& r* y& n( t$ U+ i
var orgColor=this.getobjstyle(orgNode,"color"). @, d- I; y: c
var orgRGB=getRGB(orgColor); - \, E, z- ~/ F
/ C! d" _3 V! K var parentNode=node.parentNode
/ z& A) Q2 F9 e var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 m8 ~, _3 i) X0 d4 x. v % ~ W4 B& B4 N. _0 T
var isLast=false;
( G/ i& g& o$ z' }6 Z : y" u+ D6 }$ i+ Z! U: {
while(parentBgColor == "transparent")
. m- r8 U% O2 n1 ?9 P4 S1 ^% C# \ {1 U/ y; R8 o/ U
5 F1 i# n7 ?+ n# x$ _- u
' D! _7 L; v" M: Q! E if(parentNode.parentNode == null)" D$ f. b' U8 T4 G' y
{
: q# [+ _' Z, l9 C; p4 ^ isLast=true;
& c B3 H0 h0 v" s$ q' X break;' L/ K& P' m- Z9 {5 B- y% Y3 x* d; r9 w
}4 D& ^$ I9 S9 @
parentNode=parentNode.parentNode;
U4 O. z# E* d parentBgColor=this.getobjstyle(parentNode,"background-color");; M y1 S/ G2 j! M
3 {9 c! w, h# F0 m. A0 h if(parentBgColor != "transparent")
) U! ]6 E. b) y+ D5 \+ u {
2 i4 i# {7 J3 a6 K6 F break;2 d7 ]# M* S' S' Q4 L
}7 n( \. C2 c2 A6 u. Z6 Y
}$ F, G6 ^. C0 v' d5 n. V
if(isLast) 8 k4 A7 \' Q; [! U4 r/ `
{/ Y/ j# {* r+ {- U9 \+ E: x
if(debug)
5 J, o; s' k! ?2 @' \ N {- D+ a% l& f7 B$ S/ r* ~" ]; x7 c8 N
alert("last!!");
6 F0 S$ Z% k0 ^6 C% e1 M& c3 h }
4 ^7 f3 ~- H, E' W- {: a' T if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)), U# |. ^& N3 ~1 M& f8 V
{7 R0 V- w4 D$ V5 c* a
orgNode.parentNode.removeChild(orgNode); * O3 f/ j) p! k. m8 y
}, _# q, m" \8 {/ h+ A& ~; L1 o. C
}/ g& @' q9 a" p- t' @; ?
else' { h6 E' `% l0 o& J; i
{( f/ c9 L- ?& E: V( U
if(debug)/ w/ [ s* u; V7 e9 K5 k
{# K3 O \/ A' `+ K7 c: k* ]% X$ K$ X# H
alert("compare color and parent bgcolor!");
! ?* v& Z) t' ^7 f! S }
, V# @$ E( \; d1 s% b5 G$ A parentBgRGB=getRGB(parentBgColor);
6 ~0 T% s1 l, r+ Q2 k if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
7 C3 u+ u' i+ E; a( n/ M6 n {
& p3 O' J7 l3 T. C. F& K, U orgNode.parentNode.removeChild(orgNode); ! a' K" o5 o; s8 [! a
}
6 E# v4 Z o2 m U4 j }8 T4 L9 y+ p; T" k
}: H! r8 y" a( S8 ^) _7 W
}
* i! t+ S/ }8 t% `2 \; k) V9 x }
: r W' n4 ~! q }: f( D2 x F. R& B
: \ p5 F9 U6 P. q x
6 {( m1 ?! f8 n. w' q% _ var itemFrames = page.getElementsByTagName("frame");, v9 k+ T0 @$ t; B3 @& {# X% v' O* S
var itemiFrames = page.getElementsByTagName("iframe");4 k( V! H, V/ U9 q
3 l% x/ g6 m k/ C3 _1 k
var frame, iframe;
/ d( d" a4 e& J/ \2 l. y% u if (itemFrames.length > 0)$ b( n# E* o* v
{
! E. Y# B% J+ x/ R' C; m for (var i = 0 ; i< itemFrames.length ; i++) & e$ Q0 V1 F& W1 ^. `
{
7 C$ }% `& ]! \1 L) M+ K C+ H' f frame = itemFrames.contentDocument;# Z7 v4 c! S. e+ y
this.RemoveHide(frame,objname); 0 I3 H! I, k/ u- G% i* k* \5 [5 G
}
/ p- w S7 ^1 x0 w+ ]9 y& g }- C& }8 z+ m! \1 w+ r
if (itemiFrames.length > 0)
5 N- F+ S8 K+ R4 Q {
- @9 r* p$ q% f& F: ^ for (var i = 0 ; i < itemiFrames.length ; i++) 6 Y! Y% |. M h, F' `
{- P! h- y/ @7 }( u' x8 t" D) W
iframe = itemiFrames.contentDocument;0 E2 X3 D* j+ u% Y* f- b" [. N
this.RemoveHide(iframe,objname); # P0 ~6 O* D L$ ^5 D$ Q( {9 H
}$ V- I3 V8 v9 m. W2 ~8 I( e
}
- @6 ?4 S2 n6 L" q }1 v5 f2 b) i3 T
catch(e)
. B1 V0 D! F" a T, ~# c {7 Z: b# J+ I$ N# D2 X
if(debug)
! W0 b) y: m. b2 h- s/ J {
; l$ _. w# ~7 t$ S b alert(e.message);6 C( i& y/ H2 D- a
}
( N* ^4 P5 z& u" [# o- b }
; g' _ ^/ |% w/ s8 F }
6 [* x, p* O) O- h0 K
5 b$ [! l' _, _4 ~" N$ T}
' I; e; j. [1 L/ \
/ A# t5 n" F1 j! n" bfunction getRGB(colorString)7 C2 D j5 Q( s5 G! h* e# T
{* M! N. {$ d k
var RGB = new Array;
$ M6 W( r W* b0 B7 R2 T; l var tempSting=colorString.substring(4,colorString.length-1);2 e: I' O: M# x
var tempArray=tempSting.split(",");0 L7 t9 d3 ^: H. s, |, |/ H d3 q
- t0 ?, v% b. @2 |. j7 K4 k' W8 y RGB[0]=parseInt(tempArray[0]);4 j# k8 u7 L2 Y3 e
RGB[1]=parseInt(tempArray[1]);
3 p% L7 e7 [7 V! F RGB[2]=parseInt(tempArray[2]);
! T2 W( \3 |5 ~3 D n2 A2 [ % p) m$ M! {# G. K
return RGB;& { W3 K! F, e8 u: w, w. s% Z/ \
}
* m! E8 X3 d9 t" b5 Y) U% Gfunction keys(evt) " ^1 c, N2 V# f& j
{
6 R9 `& r* h! p6 ^ if(evt.ctrlKey && evt.keyCode=="81") / |$ D2 K' G' V5 O& D* a( Q
{ , k6 p! G8 u9 z2 f
CleanHideObj.on(0,1);. q# r% r& p- n7 C+ N8 H
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 o; G6 [+ b* O4 C
$ i1 u8 V. K$ g" @3 D% @ } 4 T$ z: o L5 j8 g- C/ ]
}
. M, `9 _' k& u+ s0 L5 j5 c) w7 Mdocument.addEventListener('keydown', keys, false); . |7 e: ?4 \" m6 T: ]
GM_registerMenuCommand ('Clean Hide',' U, {+ R: K% h5 O; V( o$ ?
function(e){" {2 J4 b; z# K5 P( a' U% _. J& V0 V
CleanHideObj.on(0,1)/ y* y# X" `& t p+ p
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 s5 z; E3 n) M$ \2 `6 C; e});
3 \! G6 p2 t: M2 |( _& W. u |
评分
-
查看全部评分
|