|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) x) Z+ ^3 P. J6 Z9 y
0 [4 y& ?. @9 z; @% `火狐插件,用猴子
0 V7 w5 i- o7 K1 `
4 Z; A& ]! f+ r- q0 u( n* A, ^& s4 F" bvar debug=false;
6 Q& a; G: @; Z3 j# ^var CleanHideObj=new CleanHideClass();+ k/ y6 w' B f6 b! I' E- v0 {% y
! ~ y, t1 ?+ }4 v. Gfunction CleanHideClass()
% C' U1 C# ~! ^/ d{
: B N% j1 ~6 f: N8 ] , H! I" w* M8 J. I- n) |7 e
this.on=function(id,bMZ)9 O0 @+ ^3 {1 }2 }2 c
{
+ a3 |/ t( ^4 d& `1 j
, E; f. z. E. P" o R if(id == 0)3 p/ G7 X4 B, X; R2 |! y, ^. m
{3 J9 v- y) \$ Z& z: m. O5 f4 e
var page=/* document.getElementById("content").contentDocument */document; 5 t$ r$ u; p7 h" T2 s1 m" B
this.RemoveHide(page,"span");
7 z( o# S, O' o! S- h# b& V this.RemoveHide(page,"font");5 h6 M0 B& h. w& | D* u
this.RemoveHide(page,"div");
l( f6 @& i9 h, O4 e# w2 x/ M) ^, K this.RemoveHide(page,"p");. O( ~* x! z8 W$ l& a9 _6 e$ \: i
1 j0 J3 }" g! j# X6 r! H1 T }2 i. n3 r2 f3 U3 Q: h. R0 n3 _4 h
( ~' L# v. q4 R2 X- @
}
5 C. j: ]3 L6 h4 E! |2 }& o this.getobjstyle=function(node,prop)
6 v, b) Z* L- w; \: p9 q {
/ I1 C' k0 N1 L+ R$ J7 z4 @- T try0 M+ E1 e U: t
{2 n5 _. L- J3 `8 d u; {0 V
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 e7 {% p: V) g! @+ `2 m2 _
}
/ o$ B0 m' t& O/ R catch(e)
) r, G1 W& {9 X' G& \3 A" R {5 {0 C$ B& J2 O" [
if(debug) h6 e5 Q( ]0 K7 V
{
) d- X2 I( x @0 B6 c alert(e.message);
8 m- K. [9 [" g6 @ }
" v+ R9 V. D$ o1 ` 4 `# x, T2 }& m; D, D- R
return "200";
; V+ y- z% M; j9 u }
( R! E6 k; L6 X" K }4 H/ v( V& H7 @ J: `- {
! C2 |, u! M% [% y
this.RemoveHide=function(page,objname)* @/ d5 f0 o4 ~( q ~9 W3 z9 [
{
: l0 \6 T& S/ M( X try
1 L* ~6 q% j" Q2 n5 w0 a) o' p- g {
' G$ o3 b$ J. K# E var minValue=15;
/ I- k4 K' Y) y2 A! [5 R var objs=page.getElementsByTagName(objname); : _0 K, ^8 L0 a5 k; b# U
: j/ X; |5 h" h( A* D if(objs.length == 0) ) S% w: z3 j" Y; @! w- ]6 S. U' X: P
{
8 \9 h& e6 b7 C# ^- ^ ~( r+ ^( | if(debug)) Y1 j& @7 P) s! U# F
{' B' K" n6 d& E: F6 L
alert("no object found!:"+objname);
0 o; Q1 o" C3 A* X' F4 D }
9 r2 ?6 W& f: }8 H* D }/ s# X) N2 T# G3 I
else: W5 h6 k$ j) u* O" I+ {
{
" b* d- X! H9 y j9 q( B, M8 z
. X: a ^: Q! S; ?# G, q+ T. Z for(var i=objs.length-1;i>=0;i--) & ?, b( h- A. c, l5 }
{
& q+ k& K" a1 g- y6 T- f0 ~ var node=objs.item(i);
7 q% `- N S3 Z) @. _ # } k, j" `" T
% Q# u0 i1 C& e if(this.getobjstyle(node,"display") == "none" ||) y- f! T0 }. M7 v8 Q K
this.getobjstyle(node,"visibility") =="hidden" ||
4 G8 |" w" K: l% f) k# K* _ parseInt(this.getobjstyle(node,"font-size")) == 0) 8 h& z; v. o/ i) f$ P0 p2 ]
{. m: x2 D) k( L2 w4 {
if(debug)6 s9 f K+ V6 K$ p5 p$ K P& A9 H
{( X+ H+ g1 ^8 a; A; j: r4 r- t
alert("remove invisiable!");, |' b5 n8 u9 Z4 L: e. S/ F' j) N
}& b1 A+ {$ r' h
node.parentNode.removeChild(node);
g. Z' B* E( ~1 A 4 }1 C" E; {7 H& p$ y; H: n
}
+ e* d2 U0 N- B6 j else
, M, e2 H; Y0 @- B8 A {7 p q! Y/ _) U9 J2 h
if(node.parentNode)
, b; y; d2 Q7 E {
) l- w9 n; K T) ? var orgNode=node;
; c5 g9 V6 w/ V. e% | var orgColor=this.getobjstyle(orgNode,"color")
4 H' n6 v1 O5 ~4 _0 I( ` var orgRGB=getRGB(orgColor);
5 T. z+ k$ N3 ? }" q# d
- ?6 ~6 A$ |9 c( K/ W8 s" [& y' v var parentNode=node.parentNode1 L2 e/ Z! y r6 q% U$ }. ?, H, z
var parentBgColor=this.getobjstyle(parentNode,"background-color");2 j% w. G, Y+ L" O9 H% W
. S; q, [7 W5 W( v var isLast=false; ~' n% l$ K3 p
6 O* s' K: Y; ?
while(parentBgColor == "transparent")
5 z% Y: q$ z6 m; g; O {
. D6 E j% O: U- u # ?) J4 H' R) n9 r* O2 m @- S
: e$ G: C3 a! Z/ [3 a2 B* U$ ?, w if(parentNode.parentNode == null)# ` D: H h1 ~
{( ?' k8 ?. }9 C6 z [8 r, L
isLast=true;: \' @. z' O$ b/ V7 K
break;) l- f0 U/ ?( P5 v
}0 w2 J2 F4 q& ] h* k
parentNode=parentNode.parentNode;
2 B/ i! h* `1 x: ]; G2 k7 J: D parentBgColor=this.getobjstyle(parentNode,"background-color");0 t- b+ f& s7 V. D( G: L
+ _# i- \5 `* q5 E0 w8 ^" i
if(parentBgColor != "transparent") 1 L @) \+ O% C8 m3 `1 n8 [' j' L: G
{6 v& `8 W; X! B) k6 F
break;' ]& g& ?7 x0 z' R* v
}
: b# c: u% R% _+ ` }
! ^. {' P; v% M- i if(isLast) # W0 e9 K9 x+ ~; s$ ~' [. U/ w
{
( p2 b& V4 s* G if(debug)
H- s* G1 U+ g& U: X {
" R% V% m7 W3 ]+ y" H2 Z! x alert("last!!");; j# L+ V5 p z# g: [- B
}' H# a8 V9 R& }. n5 i
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))& g7 i: b& K$ a4 v& v! n+ a* M) A. x
{
4 b7 L4 }2 d2 `, R8 Q- { orgNode.parentNode.removeChild(orgNode);
- T6 m* P) i5 @, B$ r, [ }
2 b) g$ K3 R3 {( g% |& M }$ {. e R. a- k* b
else) ^! v& O9 c0 P) m3 d
{ m: u, f& v7 Q. E2 h* h) H
if(debug)
7 T2 q7 t7 M j7 R4 t7 H& | {, M9 b; ?$ n2 v2 z
alert("compare color and parent bgcolor!");
8 I( X3 ^/ o( z; l) P9 p }
2 z( t' o) g, s2 y2 A7 ] parentBgRGB=getRGB(parentBgColor);: ?* ]: i- ]5 S1 E! @8 t
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% ?; L4 j! V) T% B9 w2 a {
- a. q$ m: P# h/ `( @8 _ orgNode.parentNode.removeChild(orgNode);
) @1 a ]' a& h }
9 j3 X) G" F& Y }
6 \- u' \! F+ ~/ F) N& N. L2 m }! l) Q5 m9 x2 I8 o4 K
}
7 I6 z9 r9 l4 t5 k }8 s! x, S1 B V
}1 t. ~4 _6 X. f( Y
3 i% C. r B; K# h3 u' q
. J# _0 t% x& K5 j2 e var itemFrames = page.getElementsByTagName("frame");" P% z9 k8 y* @; H) L
var itemiFrames = page.getElementsByTagName("iframe");1 }7 f! L# e' i# Z" u8 w
9 G5 b6 |! Q$ k( m, l8 S: ]
var frame, iframe;' e3 v V, x9 \4 z+ [; p
if (itemFrames.length > 0)
, c! b' L d9 f a" G. |- F6 X {3 g( E" o2 Z0 t3 `3 j0 Z4 l+ Z
for (var i = 0 ; i< itemFrames.length ; i++) : y" u3 v/ G9 `9 O% A
{+ R# Y6 k4 F, \0 g
frame = itemFrames.contentDocument;/ U* l, T8 r. H$ Z5 B
this.RemoveHide(frame,objname); 2 E* j* U: b. c
}
* @) w" M* @* a' m }
: a7 J5 g0 Y1 n7 r8 c/ p if (itemiFrames.length > 0)
/ x' { T, T1 U/ f7 Y- u$ L. ? {
7 G; i9 l7 @: f/ }# i5 @8 s for (var i = 0 ; i < itemiFrames.length ; i++)
( r/ U0 L- Y& w" s- u' @ {
* e q6 \9 O' l% U# U" x; W+ P iframe = itemiFrames.contentDocument;7 i# b. W3 b9 E0 Z
this.RemoveHide(iframe,objname);
5 L, U. R# R. B1 b }8 U G2 s/ |8 B/ D4 K
}9 O4 M& S4 ^8 T/ ^1 W" U
}
5 o, Z' ?/ _7 {' ~, I$ ]6 W6 | catch(e)
% o- n m: A% y$ i {5 f0 x' r- _, R) l2 n, |" s
if(debug)
" [9 h: _3 F$ T+ w( w {
. P6 ]9 b0 p7 ?( H4 D alert(e.message);8 t3 F3 t6 `, [! o1 V
}1 L+ Z$ o- [3 Z) O6 L9 e' Q4 ~
}" M# `- E) f/ t! B" ~( D P* r
}
+ @$ R. P( b8 i& w( |" b
6 k- N$ n' c Z. P3 ^: t}) K) ^' `$ @ n1 q% e7 N
( O1 @! i$ z$ x2 o/ n) i" D& nfunction getRGB(colorString)' p1 T& _3 \4 v* ?
{
5 n+ d0 O+ @5 e# ~* W& `. ~ var RGB = new Array;7 u/ M4 O+ K: t$ W u
var tempSting=colorString.substring(4,colorString.length-1);
# W1 O( u" p% I# }& z3 A s/ i. F var tempArray=tempSting.split(",");
. `- x, W# S# W$ v/ Y) F$ _' B( h U
RGB[0]=parseInt(tempArray[0]);
# Y: h9 h+ k4 j; U; f( h! o1 L: D RGB[1]=parseInt(tempArray[1]);
9 F3 ~4 o! J$ }- x& y R9 `/ p9 o* d RGB[2]=parseInt(tempArray[2]);6 d/ L( I# u: Z
3 o# v! _6 r" t2 P return RGB;
6 D% R/ B! Q" x}: K* O* p2 N& G* E& s5 _& p
function keys(evt) + ~+ k. N5 s! z* G
{
2 a7 Z* C! v/ m2 w if(evt.ctrlKey && evt.keyCode=="81")
( ^7 r( W* `( H. Z- S' U2 s7 S- H {
( R! h* n- e$ I9 V+ p/ v* G CleanHideObj.on(0,1);. {2 m& u4 u" d2 Q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 S1 ~7 q* }; ^& X3 p
, p/ X4 @7 H0 m4 b' T" n& h$ b } 0 z* e6 j# W* w
} " }3 X* a! p( k8 P
document.addEventListener('keydown', keys, false); , K. C9 Y) e, i- l8 `* K& }
GM_registerMenuCommand ('Clean Hide',
3 ~6 Z# K% h' J$ N6 @% X; Y- U* T7 O& Y/ \function(e){0 r3 f: g8 ^2 P) y. D' M
CleanHideObj.on(0,1)) T1 I" ^& z% _8 `/ a
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) l6 c. O: r# e* A: {});( n: z6 l1 w. B5 t1 N( g) Y# M; t
|
评分
-
查看全部评分
|