|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
: @1 f) @& u S$ ? o G+ J
, p! P( z% X2 E! r火狐插件,用猴子$ B# y, D- D; C D
; t. i$ j8 E; J7 Avar debug=false;
- C& Z; @+ D, [# w& F% b% zvar CleanHideObj=new CleanHideClass();
; y1 B2 J$ y5 n1 P8 B8 p8 ?2 e- V( a6 D
function CleanHideClass() 0 w2 L# A+ ?0 X
{
. `: P5 X& ?' m ; D' k: k7 }6 q' H& V
this.on=function(id,bMZ)
) Z6 q$ h! V+ @* G {
. k9 }( t7 F. }9 H& ?9 ?0 c + k8 x2 A# W% I: D% O
if(id == 0)
? `8 N7 P2 s+ ] {7 B( \, s* s! e5 w/ h. h- ^' `
var page=/* document.getElementById("content").contentDocument */document;
0 z! ^+ h" a* n- s; K% R$ l; W this.RemoveHide(page,"span");
% _! F1 l/ W6 s6 U) p this.RemoveHide(page,"font");4 G% `, f. d" m! ~4 x& A- j
this.RemoveHide(page,"div");
' `1 S/ l+ w' X m, ]9 T this.RemoveHide(page,"p");
$ j, ~- T2 o6 D
9 H; |2 v& }) j8 E$ A% [ }5 p- n5 n5 C! j6 C" ?' G$ A
1 w' ~9 J; U% c7 f+ |
}1 b ]) ^' I: S
this.getobjstyle=function(node,prop)
" m$ g& w- k3 W+ {( ]* B I {: Y5 x1 V+ ~# _
try$ G d, A, ]# j% d8 H; C& i6 e
{* e( h+ W" H# ] k5 F# ]+ S4 s" @
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
8 U$ P* A7 T+ K }: _& H" i8 M5 M
catch(e)- j0 G! w+ B$ N7 y% h+ z5 ?
{: Y, \4 s+ r, b o4 M2 Q; y; Z
if(debug)
D; }' b8 Y- g {7 p! Z) b: r9 {( U( J) ~
alert(e.message);
2 C Q' A5 Z) {; R( L }$ a/ o: I5 ^* W, Y' O
s" l/ A+ e% m return "200";" z; ]. \( ]* `
}
+ s- b) D8 F, ]5 b& v1 O }
% Z+ v/ ]4 d( A6 I+ I ! v% K& u! V L9 R. u" B$ Z
this.RemoveHide=function(page,objname)
! R$ K1 X% O( V8 O {
2 [; }6 O" L; v( K/ _ K4 j try+ \ g9 }. E% f3 k4 p) s) l% @ v7 ?
{6 n8 \. C: U' X5 l. |' _" H
var minValue=15;
: w1 g& U! @ R1 y. q6 y var objs=page.getElementsByTagName(objname);
& w. p# H- |' D' I0 ]5 A
* E- u! X! k4 r# z* d# h5 L if(objs.length == 0)
$ l1 N( u/ X+ d7 [# Y& O5 H {
4 ?5 o; j- P* W5 ?7 Q if(debug)5 e X: p! S) v7 w, S: Y
{& }' { x1 }7 ^* i( n
alert("no object found!:"+objname);6 k) y* O& B5 W+ K
}
6 w2 q1 m5 {- Q. _ }( Q" Y+ D3 m/ L* n/ _! _4 k V
else5 F: M. l1 H$ N- b
{
% _9 v( m5 C6 s8 P& I. H% d: a * Z, ~7 Z, G, B7 L! h1 b( @& O
for(var i=objs.length-1;i>=0;i--) % Y# C0 q' h0 V) k" k5 w" j
{' S5 y l6 ?% E, {$ [3 t
var node=objs.item(i);
) A, Y6 {+ h& D: p- k2 X* T6 W( f
! u$ S9 Q- h, e' S+ ]0 s* u
/ J6 D5 X1 z* ]8 G if(this.getobjstyle(node,"display") == "none" ||
A: L2 `6 b! V this.getobjstyle(node,"visibility") =="hidden" ||
5 U9 F0 p: V# d+ k6 W1 ^7 O P* S parseInt(this.getobjstyle(node,"font-size")) == 0)
$ ]- n' l# |. S z {8 l2 f0 `' `4 {
if(debug), I4 b: V( W! \0 W6 D$ n
{
( @% v, }' A, l+ `$ B alert("remove invisiable!");% c$ [; C. k+ v8 y- {
}
, A/ o$ w$ ~. i2 ~3 Y0 o+ A+ n node.parentNode.removeChild(node);+ A; V, m3 g6 r+ u5 F d
6 t7 k! p3 A, H) M9 b |5 G! @/ { }
2 b' e. N) Y* K3 A else - O! h) g6 ?2 @8 m& I
{4 C, u+ o; I7 n) g2 i& h
if(node.parentNode) " S2 C1 k$ ^% w1 k; p2 H2 ~. |; S
{
, s7 w- z# e9 L var orgNode=node;- w; I6 u. l7 u9 k( }: j
var orgColor=this.getobjstyle(orgNode,"color")
5 g7 |4 Q3 o. o1 R$ H3 ]! @ var orgRGB=getRGB(orgColor); : R6 q$ q: u3 @1 b, j# {
' B: |. z& B1 W& [/ Q: Q! t var parentNode=node.parentNode
7 z3 ~& n: \- u: h. i5 u( p: ~ var parentBgColor=this.getobjstyle(parentNode,"background-color");
5 I o; _& n/ P; Y/ j0 q 8 D: e1 L8 |7 M$ g# R: I
var isLast=false;8 g+ K% u. [: `3 l
: ^* N0 i& C/ m* S o+ ~ while(parentBgColor == "transparent") - q: M2 b; r1 W) W
{- ]& I5 ~7 g! |/ t7 N h
. M4 ]: H1 y6 x+ f1 k5 }, ]
7 ^1 i# C6 h; r+ e/ i if(parentNode.parentNode == null)5 D3 l w3 V/ s: @
{
+ p7 O4 g" g) r) H5 o# l3 Y isLast=true; p U/ f. v+ t' Q0 Q8 @
break;7 E" c$ U" a5 Q
}5 D* @; ?9 l; L, K; I( P- G
parentNode=parentNode.parentNode;7 U( I: Q4 D$ u+ z
parentBgColor=this.getobjstyle(parentNode,"background-color");, j! b2 Q8 N! y8 c8 o& W
/ d8 J7 q6 ]" d if(parentBgColor != "transparent") ) v; g g# h5 j" J5 z
{
, y4 {2 l' q7 S: f2 f break;
! R- p! V" W% k* ^+ d" c }
8 s& |9 V2 ~) y l }
3 Z' w9 H+ h6 U: k* B if(isLast)
! g& t0 q, I0 t1 L5 B {
$ S8 i# c$ h1 G8 P! q* O if(debug)
7 p: {4 {; Q/ F. x1 t; s I h {
+ p2 Q Q, ^, c alert("last!!");
7 N i9 ]- v7 G) e1 ~2 x2 O }4 Z/ T/ _/ [) u; D5 ?
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))# `& p0 A0 ^* o% R% n
{
" V6 f; a% ]) r1 J( o orgNode.parentNode.removeChild(orgNode); % }+ y" o+ |, o$ B( M% [% I
}
@: S# h' X, {: e0 a, ~* ^ }# x3 q9 v1 R& N
else& L# @) O( B" Y+ [
{$ h2 }' N# }2 M# `; @! E% {/ a
if(debug)8 j* o! v- J8 Q3 r) g3 w
{
1 t4 r; ?8 w9 W% I5 g) I! G alert("compare color and parent bgcolor!"); |! }% `) z7 y" v
}
+ c* ~7 x$ D4 F parentBgRGB=getRGB(parentBgColor);
. p, z5 K& x u* z9 x t7 S if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
! T. b x0 Q" a( ] {7 F9 e" A. ?6 r: e4 K# H1 e5 q
orgNode.parentNode.removeChild(orgNode);
; a0 c. y" j2 \8 {* T i0 d+ K4 j }. N, J% D- F6 Z7 d& U/ y
}& H5 T6 p: P. m; _, ~& ~
}4 A: E0 a: K1 U J$ \. V
}
" F* |. b! `! p0 Z2 d- d6 u }
8 r H7 f7 U+ y% A2 P8 T }5 L& j; \3 q. e7 L
% k/ Z0 h2 D0 s" s$ G, V" e v 9 h; B5 B$ h- U$ s) l: ]
var itemFrames = page.getElementsByTagName("frame");% o5 I4 ?( V/ K6 g3 V$ K
var itemiFrames = page.getElementsByTagName("iframe");
+ h( d- ^% P9 y# |9 H' Q2 ? & j+ D/ M0 C! v" ?% h/ q; H4 u8 J( f: e
var frame, iframe;( X6 R2 d. z) k. J
if (itemFrames.length > 0)" `0 p! Q" z* U. H
{
0 z( C" y( b! U. ^$ \* G' ?/ \. S for (var i = 0 ; i< itemFrames.length ; i++)
% s" J1 _! j6 M: G {0 T2 i& @7 b2 V
frame = itemFrames.contentDocument;& B* z9 m4 y+ G$ q8 ?% e, B8 O1 n+ |
this.RemoveHide(frame,objname);
$ N- @! `9 v# M( P* D }
& S* n- P% d! k' S/ A( B2 a3 O }
4 i& }$ |1 A" D9 s! t9 ? if (itemiFrames.length > 0)6 v4 b6 f6 O: h$ k/ J' j
{: l( x9 q0 w6 v `2 e, y; A
for (var i = 0 ; i < itemiFrames.length ; i++)
6 }' H3 a1 w: m, I1 a+ R {. d; E5 L4 ]- s$ Q( ^4 w
iframe = itemiFrames.contentDocument;
' H, V1 f' J( j6 H( F this.RemoveHide(iframe,objname); # G) N; G$ Q# i W# ]( |) _
}
7 }% ^& ^" l! D }
6 I: y% Y% G. f/ x8 R9 H }3 C9 k9 a; L: M1 B0 q
catch(e)$ C* L- s: I V$ H$ |7 h
{5 E6 A8 E- w p
if(debug) g$ X, \, d' |3 }9 _
{
+ A# n/ r5 x K7 k6 I4 G alert(e.message);" }" s4 }1 I) K+ u+ S: [
}
- I2 B7 N5 Y& `3 |, _ }5 }* C5 x( E) _' G7 M
}* J! p V: {) d0 E
! v: _# h% U* R/ U: Q}$ y( N1 h2 K: n' u; q- W5 ~, p
( I+ ^6 g+ t9 f, I7 J: p) @
function getRGB(colorString)
4 C% X3 Y2 W' L1 S{
; r3 @/ ]% ]* o3 K7 U% j var RGB = new Array;$ L* C7 v. [# O8 v; I: l1 G
var tempSting=colorString.substring(4,colorString.length-1);& D$ ^5 \3 L- V1 \
var tempArray=tempSting.split(",");$ j, P5 @- N' b l K+ ^
7 d; [0 { F( ~# w( {
RGB[0]=parseInt(tempArray[0]);& w6 l. Z1 w9 S
RGB[1]=parseInt(tempArray[1]);, H* m6 G& T; H7 n/ Z
RGB[2]=parseInt(tempArray[2]);
( \/ ~5 w) s9 H. U : h2 A4 A7 ^1 \
return RGB;3 _" g. L/ J; j# G( D( s
}/ l ^$ A0 v6 @3 ^
function keys(evt)
$ e* H$ k& ]7 ^1 O2 n {
9 L, u* v# b, M( W. X9 l if(evt.ctrlKey && evt.keyCode=="81")
b% o4 S3 W3 B( d5 o) h {
% c8 @" R+ U- w CleanHideObj.on(0,1);
9 |/ H" t0 [8 ~ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . s0 L4 [& I$ V& \' C$ V+ z: c
6 w. X3 D* s; Y4 ^6 q0 i2 e+ X } 3 Q2 |! B. o1 Z( Y. B; M2 n* G, X
}
: R( c. X" b- ~2 m8 m0 _& cdocument.addEventListener('keydown', keys, false); % l5 J8 [, k1 C3 l# Q# M! X
GM_registerMenuCommand ('Clean Hide',
2 n9 B9 N$ P i' p" i# Z+ K( |function(e){: |/ W6 I! J( r( p
CleanHideObj.on(0,1)- c3 J. A+ J+ n; m
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");6 J ?8 s8 K: e8 Q6 @+ F
});+ Z9 K- D9 z# T% R9 F- B! U8 h1 I9 J7 c
|
评分
-
查看全部评分
|