|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
! b" e/ p; j: c7 R6 ^4 z: `6 A* S v- A
! H0 n# n+ m8 } j% C& h火狐插件,用猴子
. N d( z$ }" i1 N' @+ v/ \% i6 T% o2 X
var debug=false;
- }; d0 H9 ~9 Z" _: t, h Wvar CleanHideObj=new CleanHideClass();, ~+ {. P6 E) A* C/ J% \2 z2 C
" q& Y7 p3 n* f8 \
function CleanHideClass()
5 D2 M5 {3 U, L$ w, r4 r$ K{ - ]& o. K$ M' T; j% t
8 q6 R8 i9 W0 @5 T! T0 b0 k8 i this.on=function(id,bMZ)
1 M/ J) o- x# B) r# R& A! M {
5 B) y: X9 F: q. q , a4 s# e. I8 o% o; G; q; Y
if(id == 0)
- h, ?6 r7 k* G* H$ O) R {/ G- r3 ]! Q! i* Y* x1 m: s( U
var page=/* document.getElementById("content").contentDocument */document; ; L \$ S8 u% L8 ? Z$ P
this.RemoveHide(page,"span");
0 Y- h0 a" U* x3 z' W this.RemoveHide(page,"font");
' Z2 x5 p; n7 w. n' j% c& a' B this.RemoveHide(page,"div");
9 f, S2 N- V" ~ this.RemoveHide(page,"p");
+ V `& i; o9 R 1 L* H4 p. j3 {
}/ s6 E, m3 M6 B$ P0 k
+ w& z" [0 W% N# e9 V# t# s
}1 B/ C' {- f5 B) x. [0 \- q
this.getobjstyle=function(node,prop) d0 w, U/ }$ K I. R( |# g/ f
{
- e0 i8 E5 W8 W0 O4 z; U( y# E5 j try
3 t7 E( |, k3 W& U1 Y2 i& p M# V, v {
4 k. j. y0 o8 S8 _4 ~0 \ f return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
# T5 e8 ^/ I9 Q! \: x% V7 { }! q7 F$ k2 b6 \+ b# k
catch(e)
- v/ D, J; b. V2 @+ i4 H {
1 h( `! s; G5 D! N5 n) u if(debug)9 i& }5 w$ ^, ^3 k
{ O1 R( P$ k( Z( a9 B7 i
alert(e.message);! F1 l. B. ?2 h0 N1 g1 n
}
! w5 x1 P' Y" m! A/ [" H- @. r , q5 i3 i1 [; a5 S) X
return "200";0 \3 b7 L$ b) N3 r2 h7 ~
}
: O# o2 V8 J* e }# s+ L1 |2 ^' |1 n/ m/ m
' t/ d& _8 k0 C# m t& n$ D this.RemoveHide=function(page,objname)- y, j, \* E7 w: }2 C
{5 l. L. L' T3 w
try1 Z3 R. y+ R9 x! r1 ~" F% b, d9 l
{
. h" f% F. ^6 ~# b6 B9 ?, K- | var minValue=15;
, b- n- q8 R0 {$ P var objs=page.getElementsByTagName(objname); $ Z) s& l* o- y; }) h: F+ N
" K0 i0 q) w' q; T$ e
if(objs.length == 0)
! r* @7 L) y# T2 Q6 M) U1 M0 W0 v {/ M- F" G; d, `, E
if(debug)
1 q% a6 R, @5 t' }' d+ n {
, y* p' g# Z& i1 Q* q. ^ alert("no object found!:"+objname);9 L, A0 }+ b* w& r& E. E/ l$ W N0 }
}; f' {6 T# ]. a `/ i9 a
}' r+ E h6 _% A7 a) O! c/ E H l
else5 j- S# j: p1 {4 h
{
0 E- ^+ Q, `) u; G/ T. K9 f
+ J: O1 E S& n7 x for(var i=objs.length-1;i>=0;i--)
% Q) l3 D: I9 r# _& Q {. H- O. s# _, x/ D+ {9 B
var node=objs.item(i);
, v( s1 P: y7 L: Y" Q: o! g+ h' |
# A) k: X, A: B ^! b$ }
5 E# F5 J9 u5 D& Q) S( L& S if(this.getobjstyle(node,"display") == "none" ||' w$ @% ?/ v/ w$ ]1 i
this.getobjstyle(node,"visibility") =="hidden" ||
9 l# Q" Y5 w) M: ~; S7 o1 l parseInt(this.getobjstyle(node,"font-size")) == 0) $ Z4 y" [) Q w+ r
{
: G, n& u" n8 B3 l3 K if(debug)) u/ c( n* O/ v4 X$ Y" y; E; ]& O* \
{& B$ R% ]3 P! Z% }/ ]7 |
alert("remove invisiable!");
5 ^: r3 ]3 Z, S5 t1 U K( p9 g }
; c& O9 V6 r* ?' f9 @; n# y node.parentNode.removeChild(node);
' s* j- g; {$ D. j1 M; m# J . t: t7 V1 T1 j3 T/ [
}7 T+ E% `1 A, N' e2 M- P& ~1 p! }
else
1 k$ W/ s. {1 r, ?0 _* u {( |' t/ W0 o9 |8 T8 J1 v
if(node.parentNode) & ?8 }/ T# W; Y# d
{
/ w1 d* `# `4 g var orgNode=node;( B0 y' C! I7 Z7 [% }* c I' V- s
var orgColor=this.getobjstyle(orgNode,"color")' ]9 {' {+ f! l" @8 o
var orgRGB=getRGB(orgColor); ' _- T0 r$ e5 L; O4 Q6 z
5 l [7 b' Y$ R3 M2 g var parentNode=node.parentNode
2 D: @5 P/ q% [2 G var parentBgColor=this.getobjstyle(parentNode,"background-color");
: t- V. G% _+ L
+ k1 q% g q; S/ \ var isLast=false;" R; c! b2 b+ n
* q" f, S6 i5 n+ I while(parentBgColor == "transparent")
5 A! ^- V; ^- v/ R0 S/ G {
- {& I# F/ u' f& ~' w9 O. o- l U 8 m7 d9 R3 Y4 `8 K- Q2 \
! k7 i, {8 L; k if(parentNode.parentNode == null); Q3 {3 E$ X2 W( P; L
{/ j- s' g6 f' A% c! G5 ~1 u
isLast=true;
0 d$ B! d( q Z break;
1 ^3 T" E1 [9 y' D; p }
- E- ^ R" S$ }; D1 o' m# A$ { parentNode=parentNode.parentNode;3 O3 q- p9 \" O( w! g0 {' m
parentBgColor=this.getobjstyle(parentNode,"background-color");
- m/ C$ \. y1 J; K+ H. e' X- {! e! q" v! Q! y3 X" ~
if(parentBgColor != "transparent")
' N7 U8 Q4 W8 D {
3 ^" W$ W6 S1 q) f8 ~3 u break;3 W' z+ H7 t3 W. z# v! v E5 C& Z
}4 T5 E! h/ \5 S
}$ [& v- [, M3 A3 y& Y
if(isLast)
% ]+ V6 H* k. A p; b {9 |1 |+ d9 o9 B! I( j8 G
if(debug)
/ I2 j' b3 C1 z; [ {
; f1 L% [7 J! h+ f' d* t alert("last!!");
5 X9 q! C; \ O, M; ~ }
8 Y3 ^: |3 z g e6 T if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))# W4 M9 `+ t8 z% v8 ^
{8 n Q6 K2 B7 ]/ X" ?2 A( ~6 |
orgNode.parentNode.removeChild(orgNode); - O: ?' [/ q$ [* U; V5 L; V" g
}1 Q. p. ?, q! x6 ~8 d5 J
}5 U9 x% N) A8 S/ @% t
else+ e9 x6 O2 H" ]# ?) I/ v
{% I! y/ l P: W" `: m" Z w
if(debug)
+ I' M! q$ |( C! e( \ q, ` {
?& O, B! ?5 P( a alert("compare color and parent bgcolor!");* O4 D' l- R* h
}0 _1 c2 x0 \' J6 ~
parentBgRGB=getRGB(parentBgColor);
. h3 f3 b6 z" A, v2 ] if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
8 |4 A7 M! A# i7 e+ d$ W {$ a6 P# U. W$ H) b1 h) ]* d( g* d
orgNode.parentNode.removeChild(orgNode); 9 E, m; F/ O- ~* R
}
) q" `5 O) s6 ?" C }
( x4 n8 v+ x0 c& b }
: m- a) r+ k$ ~0 S( p }
2 Y' K, T7 }2 `7 `3 h% r$ i }
+ Q- L: B3 F2 m1 t4 l7 @ }; ^7 ~7 ?0 A) i8 g
( F& I6 m' F& g$ Z! ]2 ^" ]# Q% R+ i+ F1 c
& k% K2 O0 [3 c: v+ C; _! Q3 [9 h: s, d
var itemFrames = page.getElementsByTagName("frame");
* V/ R+ M9 J9 S var itemiFrames = page.getElementsByTagName("iframe");
( J; J( C4 ]& q: v1 R7 a* Y , O8 o" c! O% c. u; k" {
var frame, iframe;1 y# Q K, ?, N, U9 |7 k+ T* O
if (itemFrames.length > 0)
. h$ H, Q. w4 R& o! I0 R+ N; b {/ v0 |5 x Y6 d+ D( _5 k( F
for (var i = 0 ; i< itemFrames.length ; i++)
9 R; O1 o1 }+ g0 T" ~% {- H {: y1 H; F% Y; N) U) S
frame = itemFrames.contentDocument;
7 l7 I G* a' f7 V" {6 D7 R this.RemoveHide(frame,objname);
8 P6 d2 ?2 p! L7 t3 v3 J }
3 M; l/ O& y4 L2 _8 _ }5 o6 Q5 Y0 u4 p# L2 m* V
if (itemiFrames.length > 0)
C+ y2 r% L- W; X {
9 @. @: ^7 t% M+ s. j6 b2 j0 v5 J for (var i = 0 ; i < itemiFrames.length ; i++) 7 ~5 z5 P9 ]9 }9 h) W
{, M3 _, U7 Y5 O8 i
iframe = itemiFrames.contentDocument;# X: i: `8 T. x" g$ x) X& i
this.RemoveHide(iframe,objname); - d3 o& f+ f% M, p
}0 F2 A2 |1 O1 H: w
}% s& e8 L' `/ B5 w
}
! ~- F+ c* O) d) V catch(e)+ x; M( F# j3 Y
{
- b9 M- R, T2 ^$ y. J if(debug)
- i) ~3 P4 s' L4 r' f" _ {
o, d2 M& k* m+ | alert(e.message);
/ I2 y( ?/ w2 I0 Q8 x; m5 i& b }
8 S! K0 H2 M( A }
8 L- T, n9 ~+ y4 y }4 f& f& C2 |0 y' [ i
/ }4 ]# T- `& E}) N5 Y2 `3 y7 V. n! l- S
& \2 C! l! H# q# f M Bfunction getRGB(colorString)6 }+ r6 J* O% ~' E5 B
{
) s2 y# L1 O1 ` Z var RGB = new Array;' L: P) W( A" u5 |% M9 |: M7 i S
var tempSting=colorString.substring(4,colorString.length-1);; A! D: `% `2 ^% W( X8 [# i
var tempArray=tempSting.split(",");) V9 f1 T2 v9 T! h+ m; D* @# J
, E' d* {( x Y5 G, `, N, j) _ RGB[0]=parseInt(tempArray[0]);/ [) C6 P+ V ]3 d* t1 ]5 _, A% |
RGB[1]=parseInt(tempArray[1]);0 a1 F. ^4 H* N6 E
RGB[2]=parseInt(tempArray[2]);0 F" Q$ N; Z: u: y! O. \
: s9 i- ?6 X; o) N) q& ^ return RGB;$ I5 B7 I, s4 Z( h5 w( e$ F
}
; v5 B; k6 m! M* k( ?function keys(evt) ( f% C" |) j" K8 U/ ]5 S
{ $ T# C3 c( n# `0 O6 ~' a' q
if(evt.ctrlKey && evt.keyCode=="81")
# f* Z( S; w' _$ H) J3 S {
4 n! s s I6 a9 Q9 m CleanHideObj.on(0,1);+ Y/ Y9 f/ L: F; v$ T: G2 B/ N3 U& m6 s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); : E: X! ]" E- v1 @% k4 @
. \% l2 t* Q5 A( ^
} + X! q' C9 D; M* | z" j9 _
}
- S# L7 Y0 H# ?. W$ b+ f7 Hdocument.addEventListener('keydown', keys, false); 8 ~0 d. H# z9 N
GM_registerMenuCommand ('Clean Hide',( V! F8 T8 a- r) m9 V
function(e){
) W8 [7 A3 f+ Q- c. {. [; Q% fCleanHideObj.on(0,1)
! p- Z q& Q5 m. ?& @- G: Balert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 @ y9 E7 h5 @});
* {! D7 L9 x G8 ]' o |
评分
-
查看全部评分
|