|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 # B1 r2 R- [7 ]+ o1 v* F9 G, d
. F- \0 h1 _* \
火狐插件,用猴子
. y( u \ ]% [- Y, j- G) L6 k& s0 x, R( x9 x' Y
var debug=false;
" O. |' z+ c2 m, K6 K" F- e+ Kvar CleanHideObj=new CleanHideClass();
4 G% v- o0 i/ f) i% C u: ]+ `
, y( l% s+ \3 V% n- d7 Dfunction CleanHideClass() 9 i2 W, \2 i% \! m! U
{
) O1 V& o$ y6 h( c% w$ p8 V
4 ?3 D9 q. w3 T+ t" r6 d this.on=function(id,bMZ)
! f: H3 ~8 Y# m {
; A8 l; H" x" X. y$ b- a+ ]% T
$ T6 l9 `( @2 z7 p8 h- s if(id == 0)
+ y+ U* r" d3 ?7 Q. `1 Z4 N7 q5 R( c {5 b! w5 F: k- y* F4 M' Z
var page=/* document.getElementById("content").contentDocument */document;
! Q2 a/ h' y2 v2 ]0 L' P6 m this.RemoveHide(page,"span");# z0 N+ i$ Z X9 O1 m7 _
this.RemoveHide(page,"font"); k$ Y0 f# ?* A) P- @
this.RemoveHide(page,"div");; a/ s5 }6 p# Q% n
this.RemoveHide(page,"p");
2 l$ A5 u( b- x1 w+ Z0 _
/ s9 n1 V% q% r& P0 I" ? }
% h: O$ s* p4 w5 P6 b" X ' _: I( a! q2 C# V+ } x
}4 e4 Z3 z' Q& q7 ?/ V
this.getobjstyle=function(node,prop)/ k; Y. W- p6 Z% J; U: t" J
{
% ~! [) n% K4 ^$ b8 E try
2 |1 B7 a6 z/ Q7 z1 ~7 w3 W9 Z {& s0 X/ ]0 r* _+ e( [2 d
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, k1 n* X0 R8 y6 a! i }# I8 |$ p, H3 p! ?* C8 l+ Y+ K
catch(e)/ P+ w6 @4 m! J, W. |( V
{5 ^. f# g& M! W2 M& Q5 e: V
if(debug)' n% u h" y6 H7 s/ w' ]+ y
{% w2 R# C$ o+ \3 ]
alert(e.message);
: g' T: W ^, U6 T1 R7 H$ @ }* i. d% {% y& ~- @' k
0 i, @5 x) f. ~( q4 m" }
return "200";
# k6 A e; a. J } r5 P; O' i( b, e2 i
}7 A0 `* F1 V8 D& H
7 z$ Z& |/ b- m9 x+ x0 s) e this.RemoveHide=function(page,objname)
! d2 [9 {( [1 e- ]+ o$ I {/ |" m: N% S$ H, \" f+ t, E
try
; D$ o$ W9 g3 H6 U& T {
# z2 `; {7 Z' B5 |" r var minValue=15;
7 N- k5 l$ `- N0 L var objs=page.getElementsByTagName(objname); ; g' m% H6 q8 ?. g& N/ i
2 f; x( {% b* e. o if(objs.length == 0) # `. s; \. p" w+ c
{
& o) Z; U8 f- X2 ?: m: p# P if(debug)
5 E; a+ r0 H. G1 B* X! | F {0 A1 B# z7 K# `& r" u7 t' D+ J
alert("no object found!:"+objname);/ a) m3 A4 n0 x% Z: R% g
}
) E& _2 V m4 o. A }
8 ]' w$ K* a7 I else. ], q: ]5 J* ~" T1 u$ _
{3 |/ ]! a5 m# d7 _) C1 _
& _# S0 {6 p2 }. t
for(var i=objs.length-1;i>=0;i--) 0 [6 f/ r% q* N5 m
{
# K+ z h- ~! G8 v2 M8 t( ? var node=objs.item(i); # P3 |% P% [0 T: c. E Q
* I: j( y' p$ H D1 s
% d$ Y# V/ N4 v4 D: T$ H& o if(this.getobjstyle(node,"display") == "none" ||# ?- J+ q+ K1 f- e" `5 u ] J
this.getobjstyle(node,"visibility") =="hidden" ||
7 e) Y( ?: s0 f- L! r parseInt(this.getobjstyle(node,"font-size")) == 0)
- Z' u# d1 q+ ^! m {) e2 X# M4 O4 m, T
if(debug). C9 p9 P% Z1 \3 V( Z2 \$ @
{' E$ V. x) p+ g
alert("remove invisiable!");
# l+ e- E4 b5 _7 A% E; ` }/ M! I( z5 K- f3 ~
node.parentNode.removeChild(node);4 j+ m; P1 I1 a. s5 x; |
4 d8 |, x, a: ~0 ~ S }. W3 \3 e2 L! b4 h" D
else
7 [1 m3 F& o: U) I0 Y {
9 Z5 d% q) ^1 d+ y: @ if(node.parentNode) % |" m$ ?* @3 I7 z- Q. w
{( h/ {" S0 A' H4 `3 G
var orgNode=node;
+ x; u% E5 f0 _9 Y; Y9 ?; V var orgColor=this.getobjstyle(orgNode,"color")
C4 S. E" r3 Y var orgRGB=getRGB(orgColor);
1 j( u9 t% c j1 n7 L1 M
: ]- n" n& e' v/ p var parentNode=node.parentNode
) C2 W* y! U5 G) g; y var parentBgColor=this.getobjstyle(parentNode,"background-color");
" \4 [* k9 l Z2 h+ o c # k X# q; X/ Z$ Q
var isLast=false;
/ ?5 K' j) T% ?+ N: E% B
1 g' R/ Y$ O- i/ I, W while(parentBgColor == "transparent") & z% y& |% I5 v
{
7 x" u& e/ K$ c
3 O; N* v; D, |6 ?9 P1 P " w* `) U# M' z/ l2 c/ B
if(parentNode.parentNode == null)
8 a3 u% C% m1 r0 j, U {/ A, A7 `3 o/ o/ Z B
isLast=true;- I$ C, W! [# w# B
break;
- O- q* k9 P# K# w }
" l n5 I3 ?5 B" f. y! u parentNode=parentNode.parentNode;( W J9 i& i9 m* X
parentBgColor=this.getobjstyle(parentNode,"background-color");8 a+ G$ C0 L5 @4 M3 B
8 `1 `1 I* v" B% q
if(parentBgColor != "transparent")
# k3 c6 g, \* K {( K, A$ L0 e& D p4 c/ `2 S
break;
/ l* {% J- R. K# N1 z, w }
: Y/ i0 f6 W2 Z, Y }8 L5 [$ e+ J, o5 i& O4 y9 [* V" _
if(isLast)
3 g' ~1 W# K6 x" @ {% h+ O* i3 \) {% _$ i
if(debug)
( v! h& ?* N) e4 K, S6 A" s( s {2 i2 o0 m, R d- l/ E
alert("last!!");# f$ ]: }' s# [* r+ g- }, F y% {
}
4 H2 ]2 n5 B" B1 A* c8 z. W& X if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))) e' `' u3 Y+ r0 x+ L; C
{$ I# h7 |) C7 _* `; H- ^3 [. q
orgNode.parentNode.removeChild(orgNode); * S. H0 J E$ m x1 d! @) H
}
( K' J& k$ F- n: W* R- s! C }
: E. z b' P4 [# a* R" U else) T- n8 I( X" N% q5 E/ Z" L; @8 b
{* \- X8 ~% `" \. ]' x7 |. T& ?6 c, x
if(debug)
0 C" x% h" b+ C5 j, n: \% g5 D3 w {
9 Q9 _' M$ |1 u! h' Y* g' V, s alert("compare color and parent bgcolor!");& X$ j' L8 c, W- c; u
}3 b" U1 i1 b3 N! g3 i
parentBgRGB=getRGB(parentBgColor);
4 ?4 m# |* y; p7 a9 W0 t+ i if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ Q q! K7 I7 I- I
{$ h- ]1 Z7 L( _* w
orgNode.parentNode.removeChild(orgNode);
& ]7 Q9 d- _8 A- d# g) ]! V: m }
$ @ f* F! Z( b/ n# _ }
0 T- _6 z" g* U7 A$ n) v+ g }6 W9 j4 G! i% @& [; J' c
}
, E# ^' D" q. Q: l1 r" k }
1 }- q5 _' A$ [ }
; i4 e+ n) v8 w
7 x0 n# a9 n( b+ S [' ^8 D $ j9 F4 m2 x, D
var itemFrames = page.getElementsByTagName("frame");
1 P. Q+ f& H3 E+ L6 }% x8 K3 k4 W var itemiFrames = page.getElementsByTagName("iframe");
, d( p$ r9 ~3 v G5 c, ] 5 A0 r6 q8 F6 r
var frame, iframe;! Y7 Z: g9 _+ V- R' O$ L5 p
if (itemFrames.length > 0)
$ u; B! g$ G& D" O! r5 D {
) p0 a5 `. n% H for (var i = 0 ; i< itemFrames.length ; i++) % ^% Y$ Y- |6 r
{
. S9 t& p. G! |/ ]; `! o D4 c frame = itemFrames.contentDocument;& d+ P9 ^. ]* E6 B
this.RemoveHide(frame,objname);
- Q( P* t- v0 k5 n# Q5 F }0 v* Z6 O$ K: \6 p- E
}
# D+ i ^8 M. P! ?! E! | if (itemiFrames.length > 0)7 d& a" r* s) w$ t6 ?
{9 s7 f8 Z8 j8 g4 H
for (var i = 0 ; i < itemiFrames.length ; i++) 4 D$ N3 _0 B. V' ]5 q
{3 O1 l$ f7 n8 v: x3 w' R2 L! H
iframe = itemiFrames.contentDocument;
3 j1 K. M9 \' N# t) o0 j+ _ this.RemoveHide(iframe,objname);
4 d- |# ?) Q- @1 Z5 u' @; W3 i }
+ p1 a5 c7 P0 Q7 ~. d0 y7 J }
, n2 B9 V( w" K* y5 w7 D3 M4 m }! P) @0 J# j4 O" V' U1 U' u x
catch(e)
; Y# z3 |6 |* X* [0 P8 c% [ {7 x1 h' M# w0 L
if(debug)5 D# Z( h: g9 e8 u9 T ?7 q
{6 ]. O! ^( P' D2 N; @, K
alert(e.message);6 `! \6 P# T0 Y# \& f& f
}
/ i# C8 _* ?- i+ m3 h3 s }
+ I& J2 x4 D$ X0 E }
0 s7 l7 M/ Y; s8 @8 T- w
- U& }+ ^/ E; Y" [; ]) E! l0 u}
" h% |, [0 d& U( s4 C/ p8 |- e1 W* L
function getRGB(colorString)
% ~. i4 x" ]( C' r' `{
' J$ ~! k/ z' O% @! U, k* l var RGB = new Array;+ I( n2 F" t1 n5 j: l4 f. l
var tempSting=colorString.substring(4,colorString.length-1);
# B; F/ N1 m6 R$ A4 o var tempArray=tempSting.split(",");/ }4 p$ W+ R# T7 Y+ ~7 q
" P* J4 ~$ i5 U$ l0 N( J$ w
RGB[0]=parseInt(tempArray[0]);- m; U. J; l2 |& O. |
RGB[1]=parseInt(tempArray[1]);$ T! \# F; X4 _0 g
RGB[2]=parseInt(tempArray[2]);
& `4 u7 c( _6 ~! x4 y. e . f+ b0 V5 ]- i4 v) W
return RGB;
, _+ I) G* [0 i6 ^}! Z0 V$ d4 K8 R' G: v
function keys(evt) 9 M6 N2 k( s0 F* D5 V( z
{ $ H. a9 Y2 P+ m6 A
if(evt.ctrlKey && evt.keyCode=="81") 4 d i# h; q& O! H/ k; i
{
+ R" k/ M, Q, ] CleanHideObj.on(0,1);2 a( Q e" q; V. ^! Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( q t. x4 y7 _2 k/ f
, B" V& W: ]- i } ' R1 \7 V) c* [) k
} ( r2 \" R0 n, k! b
document.addEventListener('keydown', keys, false);
9 r- \1 `' K Q9 aGM_registerMenuCommand ('Clean Hide',
* V* E% {, \: C' y' zfunction(e){% N5 ~2 N* i; ]2 S( I, X
CleanHideObj.on(0,1)
5 b; b; g0 B: oalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! S' P, O1 T3 S4 }; T( q});
$ l+ _5 ]. K. ]- e |
评分
-
查看全部评分
|