|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 % M5 X! l' V' Y: g/ F4 o
( u% n9 Q9 U1 r. z4 |: i
火狐插件,用猴子- X6 E d8 K/ j/ t) R
+ I9 `& v7 j; }3 m, C
var debug=false;
& b- @0 F+ |2 jvar CleanHideObj=new CleanHideClass();3 g/ t! W2 a4 W& e$ Q2 u7 P
6 |0 n% r0 _1 c$ d3 d6 `& W
function CleanHideClass()
% ~9 v+ ]$ X; ?% @2 `{
2 B0 \( Q4 C# o% q ; E$ |9 U0 k8 P9 f5 |
this.on=function(id,bMZ)* j; p; g* f- `
{* Y3 o5 k) R. a
) b4 a; _: ]* q$ U( I" @! K8 P if(id == 0)2 B& x4 b ]; V" x. I: P3 `2 U7 E, l
{$ k+ L, m( c& g6 t8 z
var page=/* document.getElementById("content").contentDocument */document;
4 W9 Q5 }9 U( ]6 n this.RemoveHide(page,"span");
. Z% N+ v" p) E# N% A* \ this.RemoveHide(page,"font");
' J2 E. t; e" A# e) k. E this.RemoveHide(page,"div");" u# ?. K; P" j! D; A1 m
this.RemoveHide(page,"p");6 k; a, H7 w) z U& L- r9 j; v# A% X
) Q7 ^& y/ i. ?- j+ Y' h }5 r+ `, _5 o6 f0 \6 W3 R% [. t
8 d/ o* x# w6 v, T& w. r6 N }3 n" H, F7 d) i f: m, V2 T& V
this.getobjstyle=function(node,prop)+ m) N" C K. G2 |% l
{! |: c/ u9 ? L
try# {: M- y) t- W% G6 b
{5 k" y1 W# W9 f7 w0 Q& r }( d8 S
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);3 A1 d# c3 t; U9 \6 C
}
( H- x% h7 n. i, h: O. w2 s catch(e)
( s$ B- T: `2 E/ w1 ]" ~' V {
. @$ {! q; s, a2 ^# ]6 Q, b if(debug)
6 H2 w, ]# [% A {
: k# h: `7 U5 U) v alert(e.message);
. P" [0 k) n( w4 G# i6 j }
3 g# c7 M; l' [, Q. I& N # J' { } c) x# G
return "200";
# q. M1 @7 N* Z2 j8 \ }
* D C+ u# S) n" c0 j }: D9 y5 Z; n4 v- T' p
$ U. r% @: ]2 } this.RemoveHide=function(page,objname)9 v8 e6 U2 R T: \9 b
{9 V' s; A5 z/ }* i0 a n
try5 p& K) C' [( s4 e$ e. e
{- @9 Q8 z6 H9 O8 i
var minValue=15;: G4 i4 K# K5 Z, H
var objs=page.getElementsByTagName(objname); * `* w1 F4 h7 P7 p7 b7 K f% X+ Q
) y, e' j u9 `$ }2 J
if(objs.length == 0) : x1 B- J1 Q0 S# a8 E
{0 T0 C! G* K. q* b3 g8 s
if(debug)/ S7 h# e+ b- F1 E
{
5 O$ P/ {* Z( [* ~ alert("no object found!:"+objname);7 i0 l4 V1 S% q, r9 @ i3 L" [* {) L
}# B5 j$ y& W; W! r: b
}3 y3 I# ]2 K. i, ` l
else* W- M& k3 g& S6 W9 e5 j# u9 W
{- R( i* O! B. O
' M* f* B J3 y+ g3 N' C2 T7 i8 R
for(var i=objs.length-1;i>=0;i--) 8 |- e* V$ L7 b9 B
{
. O4 ~9 U' u1 I8 { var node=objs.item(i);
8 d) t2 q+ J, X4 z7 V
/ x! ^3 J/ g: y
$ } l3 R9 m" p* E2 ^ if(this.getobjstyle(node,"display") == "none" ||
1 Y) l9 \. r/ }4 o: F' O! I this.getobjstyle(node,"visibility") =="hidden" ||
/ F) i& ^) T! f1 Z7 Z parseInt(this.getobjstyle(node,"font-size")) == 0) $ C7 S0 {, p* ^$ z5 e8 N
{: j1 m, x, x. A* \8 `! A/ s
if(debug)! y$ N: W- T0 C" t# X. ?/ h
{
; i/ S' b5 h& j) P5 L alert("remove invisiable!");
) t0 z s- z/ P) w- {6 ^ }( f# E7 {' |) s' N& u* m b1 s
node.parentNode.removeChild(node);
* E. g m" c6 \6 q0 R
6 L0 X* C9 f" L+ ~; V* g: h }* c; S d! s' O. `
else 3 R- C3 `" c7 W4 v% d+ m
{$ d- D* g) P$ {# g( k; r
if(node.parentNode)
8 T- Z. }" {5 q" X0 J/ L {
* g; B: C, N/ k! i0 h var orgNode=node;
" W( \; G5 N" B var orgColor=this.getobjstyle(orgNode,"color")
7 v5 i0 y: @8 s* V6 b0 Z- b var orgRGB=getRGB(orgColor);
" n; c: P! v" x' v6 g 1 A9 @ u0 A. v& ~' i2 b% [9 a2 d
var parentNode=node.parentNode
7 T _1 ^+ _. ^ var parentBgColor=this.getobjstyle(parentNode,"background-color");1 }+ U8 u( E9 m
1 @$ N: ^& x5 [( m( o: O! m var isLast=false;
; `8 D( [7 V+ |6 Y Z2 I$ ^
# N( n6 R" W8 k7 a while(parentBgColor == "transparent") 9 [/ a0 o T0 E5 r9 h) S" w
{8 C8 A) Q+ `; V" V0 c3 S* k
1 I7 E- H# U' o8 {# b& Q6 e) x
: f8 X! q) s7 S1 a8 F
if(parentNode.parentNode == null) v+ `: V* J2 P: R" j& v! C
{
( C8 W; `2 ~$ y( t isLast=true;4 E1 ]$ F: Y9 C7 D' C5 r
break;
* F4 n/ o6 v0 [6 {, j }( T- d& o3 ?5 p/ t. \
parentNode=parentNode.parentNode;
& q7 v, M7 L( ]7 K) U7 _ parentBgColor=this.getobjstyle(parentNode,"background-color");0 a. x {9 A) s. y8 n
7 b% d: Z& a+ Y+ N) y8 ?
if(parentBgColor != "transparent")
1 @2 x1 W6 ?/ e6 u7 f5 m* i {; P) \5 ?; X4 Y& k9 I
break;
# G6 f6 V* @8 o2 F3 b1 G0 ~ R }
2 j% l& E% E+ ? Q/ H }. }: c* \. e3 G7 K' S
if(isLast)
) g' ~& i j% I8 p; {' E% ^ {
3 l; }$ R0 ]* E if(debug)
+ h3 t7 P, ^% R( _7 ]/ o {
* o, p9 B; j( U3 B, N alert("last!!");
I! u( S% n" m3 _# _1 Y- N/ F! Z- C }
5 i' g F( G1 d) j4 j$ q3 ~: u7 Z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 C5 d8 s0 P, t/ P7 A {: ^/ Y9 Y2 d, E+ V: ]
orgNode.parentNode.removeChild(orgNode); " Y2 Z+ f( Q4 r3 |
}7 U0 K5 r `# i0 K$ q
}% T6 m3 v( M5 [. i) o6 _: ~
else0 ], t4 c, x3 x) f- l# w8 c, }
{
1 n- p5 U# e7 I9 P* [- J if(debug)* ]3 m, [: a3 m- ?" B" f
{5 _! v5 V; ?/ `) P! j+ T" o
alert("compare color and parent bgcolor!");# u& b4 L) V7 x7 Y: r( q! w
}
7 d8 U' k+ U# p parentBgRGB=getRGB(parentBgColor);6 |% s8 B& O) Y$ {
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))8 F* W6 q% x0 K9 _+ e% I) \
{
4 r. \' G5 x. j& y3 P- K6 a0 @4 E orgNode.parentNode.removeChild(orgNode); + A% x- q2 q/ X
}
1 l1 F+ D' t4 }3 |, g }
& \0 s) q$ a6 R5 X# \ }4 Y& ^; A1 j% u( m4 e) H
}" E/ }$ d' m4 N, O
}" R/ U# m+ J6 ?7 x' z
}! X5 k! ^1 f5 D, z6 h' i/ e+ b" a
( @0 Y, k! `5 ^1 N; ]# m* {, i6 W : Q' U1 O3 N; J
var itemFrames = page.getElementsByTagName("frame");% A* a/ ~+ @; k9 G4 M
var itemiFrames = page.getElementsByTagName("iframe");& ?: i- w5 r" J; [' p' N
- [+ u3 J: m9 I+ T6 B% h! x' k var frame, iframe;% Y% Y4 W) W3 t; [8 R& i
if (itemFrames.length > 0)$ V4 w s0 }# C" I8 r0 |, ~
{; a: _, s1 V0 n4 o
for (var i = 0 ; i< itemFrames.length ; i++) ! x. ]; a' a# F. G% Y; [! A
{
9 T/ g, v; ?. O frame = itemFrames.contentDocument;2 a- a- P- G: b |! ]
this.RemoveHide(frame,objname);
) G% I$ y( |2 e0 r+ C! c# Z }
+ W7 j- p/ H$ \/ J- L }
2 ^2 e! ]8 z- {. M0 v# l if (itemiFrames.length > 0)
% v7 r9 |! Z4 F3 A {& v$ u8 q! ]2 S; G" w: Y% {
for (var i = 0 ; i < itemiFrames.length ; i++)
* ^# y# v: j/ R5 T. O5 Q f& M {
7 _+ E, a9 N/ d iframe = itemiFrames.contentDocument;# x* @% b/ x& S8 s/ f
this.RemoveHide(iframe,objname);
8 l& k0 L: z5 c! O1 ` }( W% g6 A9 E# y+ [
}# [- o# x0 Z- i
}
( x( q$ w* D$ H( X5 h, L0 d catch(e)
5 a5 B9 f, I+ I* M/ X {7 p1 ?6 a$ [9 ?- J
if(debug)
" E2 h2 a1 B& M {
' `8 @4 {3 E0 a+ O$ j2 m alert(e.message);: I' B9 N, ~# L0 k3 f
}- d/ n- S7 h% }- z+ f& U5 v9 l
}
* c5 f: S/ Y$ h }
8 A4 F7 w: U1 L& K/ s " _2 w1 v( @) x& x
}
- M7 Y8 G3 t4 M( s u
# `% [2 B5 e( q' Gfunction getRGB(colorString)* h) W6 j r' ?; ~+ n. Y
{
4 p9 e. v1 I' l" A var RGB = new Array;
. T" j$ ^/ l9 T3 k% T; A: y+ H var tempSting=colorString.substring(4,colorString.length-1);
% l- |- k4 O. X8 y var tempArray=tempSting.split(",");
) ?2 y- w( V2 A3 ^6 b1 y. r P5 _5 a; ~' l7 Y, v: y% W3 v# }: c
RGB[0]=parseInt(tempArray[0]);
$ s. _: P( E' x6 O RGB[1]=parseInt(tempArray[1]);
0 z* v+ b$ s& B! G# r* W* Y RGB[2]=parseInt(tempArray[2]);
, o6 ~7 @& N( R* x* t
6 B( {' J9 }0 t- y) X# y+ ~ return RGB;$ K/ |6 U6 o D7 f& z8 r$ m1 l
}
4 c4 u u, d- z4 _, D [function keys(evt) 9 t, E c3 M: i1 C, K+ }! L2 K1 B
{
+ e& C" ^1 u/ w/ n, R# S$ d4 G+ k if(evt.ctrlKey && evt.keyCode=="81")
$ g/ q9 e# J& a {4 z* l& H" y) A { 2 X, y7 H+ k, z+ I' |! P
CleanHideObj.on(0,1);7 J" x) p/ U1 f$ e4 U) `
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. R: T# U+ H' ?, o6 o: g
% q; {/ ]- b: o4 @# \- R+ { } : v, e1 l! T- M5 {% z
}
* I f) @* K1 |4 n. v$ Q0 Hdocument.addEventListener('keydown', keys, false); ' `) P$ A! [4 W5 t" [: a- J
GM_registerMenuCommand ('Clean Hide',; {! n% \+ O0 h* q U; O, q
function(e){) [8 x; }4 r- h; T
CleanHideObj.on(0,1)
) z6 w$ x' F. [+ K, I, C. ?alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; J5 J$ D# h8 r9 @});$ p9 S- B/ M& |/ n: T
|
评分
-
查看全部评分
|