|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , F4 h# E& I% D5 n6 v- f! i
4 _6 V$ }6 \1 v2 z4 E火狐插件,用猴子) {! R5 i) ^2 f/ r& n1 g
% d+ h3 ?' ]. x, ]7 |3 v5 d3 v
var debug=false; , x" [1 a4 Y% g9 v& V5 L! q
var CleanHideObj=new CleanHideClass();
% M9 M- D, \6 v2 f+ o6 z4 A% j
6 d. B# t" y6 V X# yfunction CleanHideClass() , p; V1 l+ n7 J+ T# j
{ : {$ Y1 L1 B4 o
8 W( W! S3 i' j% ^% Q [9 w9 _
this.on=function(id,bMZ)
C7 i( @, X8 e* V% Q {
$ X$ X2 W% W4 G8 u! I& b) H! Y) T5 V 3 @' O+ [. q8 N& v5 ^
if(id == 0)" g2 G2 O/ L) w1 w- F
{5 w: g" O) j5 m2 Q
var page=/* document.getElementById("content").contentDocument */document;
7 Q' ]' n& A }5 o1 U4 o7 N3 p this.RemoveHide(page,"span");! |* x- z3 V/ J9 O
this.RemoveHide(page,"font");& t, X8 w* R' F: _
this.RemoveHide(page,"div");$ H! v& ~- A5 W5 \) r8 r+ k" I
this.RemoveHide(page,"p");
& v6 r3 L/ c8 n5 R* T/ A
6 B, A& u) u# | }
- x Z! X* I5 V
* \/ e- W9 i! ~8 ~6 N$ O }+ G$ }. D# K8 u" j# f) A( |
this.getobjstyle=function(node,prop)& }2 F* r S& r2 t: b3 g
{
& `6 G/ j, E# s' M9 u1 P/ Y try! e8 Z. z9 k, P( A
{! N' n& Y, D6 \7 |6 Y, G* e1 O
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. z3 W4 E. Y4 f# i" f
}
X& Y- ]" h* ]( y! _% b6 _ catch(e)
# }8 H3 I/ Y3 {1 r0 Q {9 d3 x2 S b8 z
if(debug)
) Z: q1 I) Y% g! r {
9 u- W7 @- R( q alert(e.message);0 r/ S2 u( G( t& s1 l
}
: Z7 X7 R: G) s0 b8 O# O) B% f
2 E! C+ V& w9 L return "200";
! w P+ {' k" j" {3 s& R }
; _: J1 _ z; X+ p+ r/ | }
& V. l: ~9 }" k' s6 o4 i0 F
- N q, J. E7 S& K- N! r4 { this.RemoveHide=function(page,objname)1 Q& n8 t8 f) j# D& m
{
$ j. |1 ]& {. _ try
/ A2 n' `0 C! c0 C {
8 k4 Z1 ]5 x6 J. W/ N9 ? var minValue=15;
$ I/ N4 a. |* m- T var objs=page.getElementsByTagName(objname); 0 A, P; c$ o2 @. a/ c0 ?( l% G% h8 m
/ F0 m1 t$ U1 E6 p6 G) G7 Z
if(objs.length == 0) 1 X/ n, w/ [1 w2 q- I4 b
{
& F1 W+ O6 H6 x9 o- E$ n5 C V. G if(debug)8 A% z6 I5 O5 |
{
/ t4 W: ~6 v5 J* p" r alert("no object found!:"+objname);" L2 B" [& p# V! \- a$ p
}
& o- v, i6 t# m% Z9 B }0 y2 j4 o) A4 T: E ~) T
else- S* C; q5 x' I3 L! c! ^# E) v: y
{: }3 F0 ?& @& u6 }6 ?1 b, N
+ ` O' J% f; M, H' d2 a/ ^5 C- }
for(var i=objs.length-1;i>=0;i--) % v8 Y3 l+ ?$ c# P. v9 b! i
{
1 H0 k) C' s" v' v' _) [0 F0 D var node=objs.item(i); 4 X' g/ C4 b9 R1 H6 B( ~
. a- C/ h: D- s/ S! \
! `; o4 @! ]) I0 [- ` if(this.getobjstyle(node,"display") == "none" ||
% j. {, s7 J8 w! `: S this.getobjstyle(node,"visibility") =="hidden" ||' W' g B# `2 h" h$ n9 Q- g
parseInt(this.getobjstyle(node,"font-size")) == 0) & j2 u8 T2 h/ w2 C9 i; @
{
4 X" w" [2 V: t4 R- Z/ f if(debug)! ?1 s, t' [. `. A) @# j) S0 S
{
1 d) ^1 |1 @% l) ` alert("remove invisiable!");+ j- G9 ?$ ^1 k$ d4 H" F
}
% X$ c9 V5 Z1 { q$ ?/ K* q node.parentNode.removeChild(node);' M; }5 u2 v# o, ~2 P C% _$ p7 O0 j
1 ~9 r# @5 |5 y! `) [! w! Z }
; U' y) G( K" X# i: h9 ^ else 8 c) _ I5 u9 h
{
# ^6 Y3 T4 c/ A5 [! c if(node.parentNode)
( ]2 d/ ?; @ e6 v4 b {
, l0 m) B9 B, Y- T8 A var orgNode=node;
$ [9 w; h! J% C8 g var orgColor=this.getobjstyle(orgNode,"color")
7 t8 M% A; f+ S9 d& i+ y! Y- V1 g var orgRGB=getRGB(orgColor);
% r- a( J0 c/ \8 L
) l- H: v& ?. Q$ I9 q var parentNode=node.parentNode
" T9 I0 _2 ~0 m. g( [ var parentBgColor=this.getobjstyle(parentNode,"background-color");
6 G- f8 Z2 g9 B8 S8 ~' L4 h$ ?
! `* x: R- h' q; v# `3 M var isLast=false;8 f* m% o. }9 C$ A' w. o d, p3 j+ K
6 i6 L B% u. m4 @; M9 y! M. ]
while(parentBgColor == "transparent")
/ r# j: Z& J f: m. ~3 `5 u {- o9 O2 d2 y; j9 X+ r. Z
2 C/ d, H8 w# w2 U# \) i
1 s0 H: I& p) U r' i
if(parentNode.parentNode == null)' i$ w* d0 X, a6 C6 J2 @3 K2 K7 u
{% f a% c) l. x( O* H
isLast=true;
" c3 q& J% z9 E3 m! `7 N1 z break; _+ V- E/ d0 f& n% }8 ?: J
}0 b9 n( Y! e1 c C' M& P- s3 S
parentNode=parentNode.parentNode;( `( G( w, r3 a
parentBgColor=this.getobjstyle(parentNode,"background-color");0 |; E- S! _/ E5 i
* ]% H# K, p2 ~0 C8 m. o: { if(parentBgColor != "transparent")
, l; Y4 e* x+ Y' a! Z# e! g {
Y7 ~+ R# n& ]8 M3 M' [+ I- r break;
! i! n3 v( t; R: C; e) O, x }
$ P# P+ A8 u$ } }
8 D& n, n. H% v) P! _# C1 S, [ if(isLast) ' z: ]3 z/ D4 y( C7 M+ U: }
{3 p" u/ N6 M+ u7 @# N2 @# A6 {
if(debug)
( B8 I2 W" L4 Z, g b( d {& f: Z: C9 p* m, ]
alert("last!!");
: _( H1 A" U, I/ I9 ] }) p5 C2 Z q4 F5 s' @/ ^! z
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! H4 f8 ]; c- Y( t7 O
{3 h# B7 L- f4 l4 L! ~: z
orgNode.parentNode.removeChild(orgNode);
6 p/ f- X+ a6 L. I5 |2 s3 H }7 ?1 H/ [5 i" T- d- m0 t2 a$ [
}
Q9 ^( Z M5 m) N i else
- ~5 X& g2 R! b r {! g, |( z; {1 M
if(debug)
6 o0 C( T3 L/ Z( E. w3 z& ~ {% }2 T9 Q" a) l; k' I
alert("compare color and parent bgcolor!");
, l( E, _6 {- p- e$ v }
7 @! p6 V5 |$ \# Q& E# {) K parentBgRGB=getRGB(parentBgColor);3 n1 i) n* O8 y. t2 e# D
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
( u6 W. c0 P! g, M% w' I% R1 g {3 |0 w& _4 _- M4 K! t1 J1 A
orgNode.parentNode.removeChild(orgNode); % C9 x% Y4 A; B3 b. ^7 c
}4 k) |1 Y ^" @+ R6 y/ b; r
}+ r3 B) \& [* `1 l d4 D$ q0 k
}7 f% l" k; ?+ K4 a8 j
}
+ }/ z8 }9 q+ a$ D1 K. u }8 d, S6 Q, E+ ]
}8 b+ A' E7 ^' A0 e
& V* @) u' }9 I% V$ }
9 @+ ?5 T2 o- ]% B
var itemFrames = page.getElementsByTagName("frame");$ M0 V f _$ w* }% m
var itemiFrames = page.getElementsByTagName("iframe");
3 w7 C8 R4 ?; y& Z4 H! Z' v" Q, n
# X* M9 l% G8 N1 B$ `7 q; _2 X" k var frame, iframe;
d+ N1 X' a, [$ a; A7 U: y if (itemFrames.length > 0)0 i0 x8 Z, U5 l% C: x
{
8 C% g6 m) v5 Y* N9 _" O% J: O; p for (var i = 0 ; i< itemFrames.length ; i++) 3 z2 C! ~% Y! K+ Z7 i4 C8 Y
{, C- q5 ~# P& D3 u( p
frame = itemFrames.contentDocument;- H a9 I, C8 s: \$ `
this.RemoveHide(frame,objname); 4 |0 F+ Z A! Z) ]: E X( h
}; ]9 p4 d0 w8 u# k
}7 ^1 D5 R( O% r# G+ j: e
if (itemiFrames.length > 0)% t5 v6 N9 t; y1 ^, K5 ~
{
4 C# Z2 {1 a% e* D0 [5 D! n& K for (var i = 0 ; i < itemiFrames.length ; i++)
. F0 r G% O" S% D L6 ]; o- ] {: K+ S" U$ X% p4 |
iframe = itemiFrames.contentDocument;
- q7 w/ J5 E0 ]6 z1 \' G/ T6 \2 H9 U this.RemoveHide(iframe,objname);
8 }+ W) Z2 _: o9 e3 T) _. q. e }% ]" L$ M6 _" z w# R0 H
}
8 S5 S" x. W/ p }
1 K& ^; l g; d catch(e)
5 i3 }7 `2 }! L5 J5 P {2 ^7 A' Q" ~% ~& e2 Z6 F$ u
if(debug)5 ]: z9 Q# {; R
{
* p/ k. M1 M/ C+ f# `" C! d alert(e.message);
7 N, {) ?: B! @$ H }
1 }1 r2 a# I2 B+ k# J! j }, b" |: f& z Q; b. `
}- J9 }5 z, }4 F( V
8 ~% D5 N. t3 t0 E/ z0 n' ~}' Q3 _5 I% N8 {( I, {5 o$ l% c6 N
* I9 @* v" W3 F8 o' k8 j; lfunction getRGB(colorString)* h# z# |* t/ ]6 A" D8 V& t$ z$ Q& o
{% T3 t# w' P# u! h3 T2 B9 g3 D4 f9 e# O
var RGB = new Array;
. d6 A Z3 w) i6 e var tempSting=colorString.substring(4,colorString.length-1);+ z& z, Y7 z6 c/ U, _
var tempArray=tempSting.split(",");# ?9 b! c* r3 Y) Z) m
" |' ? ^9 f) y' _/ F: `; g, ] RGB[0]=parseInt(tempArray[0]);8 I9 v/ b2 Z4 r" Y4 f" G: [- p# h
RGB[1]=parseInt(tempArray[1]);
$ K1 T% V+ }/ J4 R4 q RGB[2]=parseInt(tempArray[2]);9 i& b1 C; n4 b, N/ ^' D O
2 r D! h% a% M: f4 [# F$ c9 d return RGB;
) R3 c$ |3 E" t}, C, ~: ^2 R5 O' r. j+ y
function keys(evt)
8 E+ ^( ^- n! t0 l4 R! z' P4 y" ? {
5 ~. J0 n) F+ B' R9 ^( W7 y if(evt.ctrlKey && evt.keyCode=="81")
2 e. ]6 p: a" p. [/ d8 a5 c {
8 f% Y: u/ o5 t" v CleanHideObj.on(0,1);7 g0 }: @2 X0 q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 K& A- K. v% _% D1 x& n 4 d+ n" F7 P' `" t4 S" l
} . j' N/ V6 g9 A0 j
} 9 d) |( m8 @# }" Q4 Z
document.addEventListener('keydown', keys, false); . A% K3 @/ b% H* @- K4 `. C
GM_registerMenuCommand ('Clean Hide',2 E. f$ D6 k1 c# N0 Q
function(e){
' N9 G9 A: B$ z( t( S! @CleanHideObj.on(0,1)+ t7 X/ B8 B: g* j f' L
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( p" ^+ U( {7 `4 q7 Z6 L});
5 x0 l, t2 W% ^, _4 @7 g5 X |
评分
-
查看全部评分
|