|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ l, u' m, l8 ?$ d+ n9 k9 L
2 d" F# x* p* ?5 n$ Z/ ^火狐插件,用猴子
5 G$ y9 Q, X% [9 S
7 \! S& V# l @& [2 Wvar debug=false; 3 {) L+ r: I/ @- {) s1 C
var CleanHideObj=new CleanHideClass();
# M5 g2 @0 G x
2 C; G% P/ x% f- h) f% efunction CleanHideClass()
7 Z: c" e8 {4 w! r; b1 @, b; m{
8 p+ _, A2 \6 o3 `& Z0 z$ A $ b+ @# U# |4 _2 h5 C! Z! `
this.on=function(id,bMZ)6 ]" Z; q" a* r9 m8 s
{; h+ z" Y: ?) O( e
+ m8 \. D) M) z& p
if(id == 0)
8 ^' q9 K( Z! Q( p2 J0 T+ |9 | {
) g( c _5 t1 R8 _: V0 j8 M var page=/* document.getElementById("content").contentDocument */document;
+ ]3 x4 o0 h; X this.RemoveHide(page,"span");
& K+ q( L* R% E4 g9 L6 j6 d this.RemoveHide(page,"font");
; \7 h N( S1 f5 S2 R this.RemoveHide(page,"div");% s- u( F8 x" Z
this.RemoveHide(page,"p");
7 u! p h7 c+ C2 ]+ x
: e6 B0 j9 _3 q }' J& b$ Z' K. `2 w' r
' ?* ]5 o# T$ S1 e8 r% j+ R* y }
8 G' s* r3 U8 C/ j5 m! V this.getobjstyle=function(node,prop)" }6 l3 [" E' w" v; Q! _4 G2 I
{
3 {/ L1 Q5 n4 y1 q* B try/ Z; Q- N. R0 b" h# ~& }5 @
{; ]; f+ a- H+ t2 X
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
# D2 ]/ t! i4 l$ A) t/ \ }
3 g% p- ~: V- Y9 h2 ~" P2 D2 N. L catch(e)% V. f I5 A( L/ d$ g+ T# ?
{
( V' K$ b" N$ R if(debug)
, B! y7 a; a7 Y. \ { b0 I& s; A4 l# x5 g
alert(e.message);
. c8 g! u! N7 Z }' [- x0 b+ Z2 e+ c( n7 D0 v! P
* j' O. q* b6 Q4 }2 o
return "200";
' ?' r. m6 |9 a; P% y6 k" G& j }! ]& z3 l. X: d( W- {# `
}# t, h- F. q6 l$ g/ R
& f8 V- x& u c+ b H
this.RemoveHide=function(page,objname)
& }# c( X! F7 U, O; d# R4 j X {0 @3 R0 c! n3 H6 Z- {$ ^8 {
try
5 E( d2 B4 f/ c9 {8 j& a: O {# R& o5 m4 }, w: \! i
var minValue=15;; G3 I0 {) Z- s3 `4 X: G
var objs=page.getElementsByTagName(objname); # C2 m" {/ S4 h8 Y M4 a9 \
' `2 L/ u$ z* r4 }' _# q if(objs.length == 0)
/ G) P6 d, s7 _* r* {1 \ { A, b- Y: [ ]2 \8 s T* R
if(debug)
0 \# ]9 y# C( R7 P H% H {- x' p8 u8 s" a- T5 G* e
alert("no object found!:"+objname);" p; ], m: p& q4 K. t
}
1 M! O6 r q, T% a8 Z6 p }7 f! b5 L8 E8 w5 z
else
6 x* _$ x s& t {
4 Y4 E$ o" P1 p4 Z5 F " M1 x" x( d& P. R h9 M
for(var i=objs.length-1;i>=0;i--) 6 \3 O' r! A v7 y
{! Y- V1 X/ z, r. F; H7 d' D) E* A
var node=objs.item(i);
7 S5 I! N- ~$ X8 C! b. a7 J J b* P2 f2 m+ W$ v
- H7 _: E) A: n; z
if(this.getobjstyle(node,"display") == "none" ||% d7 A2 A+ _/ D5 m) m) U6 z& y
this.getobjstyle(node,"visibility") =="hidden" ||
" N, P4 u2 X {, I- } parseInt(this.getobjstyle(node,"font-size")) == 0) * ^/ [& N* Y' R5 r- g6 k1 k
{
7 u4 W9 K0 n( I$ S& M; \ if(debug)
. W' b' X8 C7 N& ] {9 }6 O1 ^; K' @" S6 ?
alert("remove invisiable!");% R* q" ^/ |: V, x y& z( V) ^* ]
}
& v' o( ?7 t6 t2 L node.parentNode.removeChild(node);
5 w7 A I- Y0 |% f, c & i3 T" d! K+ C3 K
}2 P7 q5 R+ c5 L% I$ k B$ x. Y
else
) j$ N; V B3 n7 A {
$ {* _) N& w- u if(node.parentNode) # G1 s6 p' X4 E
{
6 o# |- g8 h1 ?: m! }: c2 V' f var orgNode=node;: D0 I! a3 a/ s; ^
var orgColor=this.getobjstyle(orgNode,"color")
* Z* D3 N2 _+ ~1 t! p% Z, N var orgRGB=getRGB(orgColor);
# q1 Z) P- j7 _
! X! p* m" s# [9 i4 e var parentNode=node.parentNode% N* v" w( _7 k6 t! E8 e0 W% R# Z
var parentBgColor=this.getobjstyle(parentNode,"background-color");; G1 c" N5 \% o9 i V
! H0 p, E7 \4 `8 s/ R# W
var isLast=false;/ b0 {/ w6 h4 G+ {7 J I
: v/ j9 i9 J3 M2 y
while(parentBgColor == "transparent")
2 O( [) T! t0 A {/ r) n- @* Q- n7 v3 O
7 _! q/ e/ G3 D: }9 K
* L2 s2 S# B% O6 _; y
if(parentNode.parentNode == null)0 r. e6 r# G" Z+ x! B
{% p7 i& M9 B/ E# D+ L
isLast=true;
0 O' F+ f2 R* F) C9 [ break;
) ?/ u0 P' a3 W$ C6 K }
) j, j g2 p) ]7 ?1 u parentNode=parentNode.parentNode;
) J# M/ f" i6 U- U: i( f0 n parentBgColor=this.getobjstyle(parentNode,"background-color");
2 n. A: L3 n2 F0 v2 _
: q: U# m( I5 K, M if(parentBgColor != "transparent") ' \1 `0 |5 w* c2 `) |4 O
{/ Y! z0 e" u* M. p; D$ X2 x' n
break;
. ]) u0 z( F0 u1 ]; F# n V }; Y1 T6 e. K4 A- G6 R# v
}* k3 g/ Y$ A4 z# s% [) H* W! g/ x
if(isLast) 6 C* D, ^/ I& w5 ~+ T
{
! ?+ ]' l3 \3 J( b: ` if(debug)# f/ W5 h! {. b1 W) V
{
: i r" o' K$ c4 G/ S2 s( U- B alert("last!!");' F" B+ Q- v8 [; D: h9 ^
}- U6 W8 e* `* z1 C" W! b; Y8 T0 e
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))4 F! x" [, E/ E
{7 S5 B1 ?* Q9 p" s# w( n
orgNode.parentNode.removeChild(orgNode);
+ w0 v+ E# o( J9 V' P4 G7 U2 r }
8 W: o, y9 b) M6 q# C& i* p }& @" y W# o0 S1 d N% m
else: K; f: f* P# c
{, J, u7 S* i% Q# B
if(debug)
8 d1 M% e$ ` W. E( i& r! [( f5 D {- J' r- Z9 B/ f
alert("compare color and parent bgcolor!");
8 |/ q8 e: ^0 _" v1 |7 C }1 b2 U- P$ _1 I) X8 _
parentBgRGB=getRGB(parentBgColor);, H D. n1 ?1 E* Y% _
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))+ I: W6 h( w3 @, \
{9 o- W4 \) N# I3 h$ {( w! x4 h
orgNode.parentNode.removeChild(orgNode); # m) `. H2 @4 [7 v
}+ A5 n+ T) S6 v5 S% m3 S( t
}2 Z" t9 ~( F4 }
}3 Y( n8 l6 m3 ~
}
Z- M7 l8 c- f) c6 y8 U- I }
$ y5 y) d# A, s5 g/ f& I* f1 f) l }# x6 c* z; q: B/ {0 \ ]
( `( S3 f8 S4 M' f2 x8 s8 z 9 Y" U/ Z. K" G# M. Q# W( v
var itemFrames = page.getElementsByTagName("frame");
* D" Q( e) G3 @( n, B$ G var itemiFrames = page.getElementsByTagName("iframe");
( S+ U d/ Z& [" a , `- Y3 A8 ^8 ?
var frame, iframe;1 _9 @8 e+ @1 q7 c
if (itemFrames.length > 0)$ T; r0 I1 F! D- v
{
, k8 A/ L* y6 M2 c, \7 O) x for (var i = 0 ; i< itemFrames.length ; i++) g% R% p) {4 n+ }2 z% ^
{
0 t% L: t& N4 ?9 V* _: F% l% N frame = itemFrames.contentDocument;5 O2 y x3 O' e" \
this.RemoveHide(frame,objname); K" B( o8 ] R) b
}
# X8 b# y* z: c4 i$ g! v; e }3 C" O: g; E8 e6 Y# l) v
if (itemiFrames.length > 0): ^2 o- x0 p: B3 t9 m; O" b
{' z# @/ P& W( B/ i
for (var i = 0 ; i < itemiFrames.length ; i++)
+ }& A/ |8 f0 M h8 s {* d* ?. j$ t, v4 G% r# R* ^
iframe = itemiFrames.contentDocument;
% O2 G- _. v' R, ^ this.RemoveHide(iframe,objname); " ~) t% `* m# f* v. R
}
/ H8 o3 Q% t6 c$ H }
# ^: W( ]1 c9 l# N+ e }
3 U3 N. l& l$ @4 V4 { y* s catch(e), y) A$ D0 A$ W2 C8 o. w
{
! p0 `# u8 o J/ @% m; W, w if(debug). m/ A% M; t' R( h
{0 `6 G& j) K$ l% v
alert(e.message);
* B3 _$ f D; f2 x7 Z0 p7 O }
, a) W; u/ C( t% a+ v; R }
4 _3 B6 w) y2 l1 r. Y& a: _ T }
+ L2 O" H* Y1 j4 t. ]
& y$ j6 a' ^. T}4 N, L( Z1 `/ F
; {$ n3 w4 O7 h! Lfunction getRGB(colorString)
; v( h4 x% Q/ B% d{. Z6 ^ N3 l/ s1 N& p
var RGB = new Array;9 O' u% S& A, X) n8 _, U( C
var tempSting=colorString.substring(4,colorString.length-1);
% D) w$ _+ ]% d% \, _- K" m var tempArray=tempSting.split(",");7 l& J8 I+ [4 p6 s1 U
1 t: [3 a* K. p9 I2 a/ L0 P RGB[0]=parseInt(tempArray[0]);; K; ]4 f3 C9 q5 V' y3 k7 f* }
RGB[1]=parseInt(tempArray[1]);3 O K8 j5 M1 l5 b/ F
RGB[2]=parseInt(tempArray[2]);
1 r6 [( _/ a0 v F 9 N" Y% B) p# W
return RGB;+ l% e0 e: n5 y* U3 f u
}
2 p, C. L, ]: K% tfunction keys(evt) 3 K* U5 ^3 P. W. i# c* f- j' p
{ / V9 u0 E* J4 d
if(evt.ctrlKey && evt.keyCode=="81") * X( Y; L" S6 V0 N6 u: I2 Y/ Z# |
{
/ U( d* n$ b2 n/ I7 o8 O- i CleanHideObj.on(0,1);
2 K0 t, ?5 w# h C8 f r: W alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 g4 O+ Y4 u& J% P2 l& D2 H6 e 5 r, r9 E |+ G% U5 H) E' ~% q2 b7 V
}
/ `- d) U2 P3 g7 S" f }
" S. u' X6 v, W: x6 fdocument.addEventListener('keydown', keys, false);
$ W7 { @1 e+ y4 e9 l7 mGM_registerMenuCommand ('Clean Hide',
* i) A" l( Z& m5 i* xfunction(e){( h4 K9 t9 D; J7 e9 m$ O* J2 x2 o. j
CleanHideObj.on(0,1), s; }7 r4 x' O6 c* d6 J- ?
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 `8 a3 e, c6 c; {});- {2 _$ U d% v+ }5 x
|
评分
-
查看全部评分
|