|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ u. P& h( b! s* v) h4 m3 |+ R; I* \3 J* p, E0 v5 w
火狐插件,用猴子
; s6 O8 o' V& ?
' ^0 a# |+ J* T* g8 dvar debug=false;
3 O3 r( o: F+ vvar CleanHideObj=new CleanHideClass();1 d3 v( M+ Y6 }! a) S) F; j. B9 `, g
8 Z/ H) Y r' G% k8 L7 v3 Lfunction CleanHideClass()
6 @) r2 o" y( M% S& X3 {0 ^{
0 }! d! h5 R. l$ O9 o 5 w0 u- |# Q4 }
this.on=function(id,bMZ)
+ g8 C3 Y. ?. x7 k- J. k {9 C& v" A9 @, F( x: R0 T
" B8 N' t+ e4 r& o if(id == 0)
+ }* S- t% o+ S# D {
3 f% h; B6 C1 ~ var page=/* document.getElementById("content").contentDocument */document;
' S7 T0 Z9 y0 H$ ?' v# n# R7 F/ V0 { this.RemoveHide(page,"span");
" t4 r/ N* u3 C/ f X9 X5 Q this.RemoveHide(page,"font");
" F' _& X9 ^, e' } this.RemoveHide(page,"div");/ g- s. L7 ^1 O
this.RemoveHide(page,"p");; c9 i6 @9 N. m G/ ~3 t. }9 o- |
5 v/ \8 A4 w; M7 G }) e/ T' M: J: Y l2 `6 v' F% P' |
- }5 u6 J7 I0 l; m4 u9 O }
1 u# ^' x0 k9 m$ q$ @: Y& q* Q this.getobjstyle=function(node,prop)8 h1 h4 Y2 M) n: }. U6 T* X2 W
{
+ m8 x) y. d8 ]( i6 Q- p try9 X P: X; b: x k
{9 d: J% X8 S. [' P
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
}5 X: {2 ]6 [ }
0 [6 t1 N8 y" h" w8 p7 A& C catch(e)
- \: k8 n. l" o1 `% V0 [ { d& G( h9 M! }+ G( N" r4 g7 @
if(debug)
* s+ c( a% y9 j" c" G {1 q8 d; i8 M, ~5 ] H# q
alert(e.message);$ d) ~$ Q p' n- }! A1 X
}
6 N3 r8 N, J6 m5 ~
" h0 ~+ P' L* k% [ return "200";
8 p* K6 m! u9 E/ k1 \: L7 a0 X8 G0 G7 h }' Z* q. e; P* ]) q. A7 A8 n
}
9 p& Y Y% [0 n* C) h3 L, I
1 @7 ~+ z$ J, S this.RemoveHide=function(page,objname)! w7 L/ o0 l2 V A' I
{: q9 h2 u7 z4 w
try
, U3 b, }0 W/ o& A {1 ~/ l3 q) l* ]
var minValue=15;( U* |3 c7 o# v& [
var objs=page.getElementsByTagName(objname); 6 P: D( t9 T: O l( }( ~; a% _
. V' H& x0 }) O) f5 P if(objs.length == 0)
4 o! o/ P: l" V5 L {
! o, f$ r5 k4 h3 Q, o if(debug)
, l, N5 Y, W9 q) ?5 S {- _4 w& k1 E( G* r* v
alert("no object found!:"+objname);/ M j' d. [2 c T( q/ E6 l- i. `8 A
}- l: `% P, r, v
}+ m0 P2 C& R7 c+ `
else
3 N$ _, y2 V% q) } {8 \! p5 L/ r/ N3 s
3 f# B) W# S6 u9 U, n, t& z for(var i=objs.length-1;i>=0;i--)
2 Z9 d. j& t5 n {. R6 l, p3 M+ u6 M9 p Z8 W
var node=objs.item(i); + L) e: f' ~. r0 a4 U- `! d5 U
0 b( I5 f1 Z, {! e) `
1 n3 l; r' {* I if(this.getobjstyle(node,"display") == "none" ||- [9 }- H+ \2 m2 R# {* E& d0 f A
this.getobjstyle(node,"visibility") =="hidden" ||
" i# e- A% n* e Z. z' G$ v parseInt(this.getobjstyle(node,"font-size")) == 0) 5 {9 d4 T s8 K3 `, k1 n/ p
{
, c3 D& Z- P4 `6 x$ ~' H9 u' s& ^4 ^5 g if(debug)
+ b" T( q6 C4 p1 Q0 U {
9 S: i' [ d( x6 ^! f. } alert("remove invisiable!");
" Q) C- g2 k5 W+ ^& c, g) D }
- {+ ]/ a" v0 p. @, ^0 l( x" _ node.parentNode.removeChild(node);
) {: A$ a& |, a# `. K7 o
+ M, [: b: @/ I K3 R G }
5 x) s0 U) z5 t! T5 E; C- ^ else 9 m% o0 q b7 h6 p' A0 @: ?( \
{
( K o/ S H2 x1 Z7 \ if(node.parentNode)
* H& N0 m/ _" } H* P {1 {) W2 G6 e6 ]) |% ~9 C
var orgNode=node;
9 Q3 P9 _5 m3 M var orgColor=this.getobjstyle(orgNode,"color")
( G; C4 S2 Q( S; p1 ]0 d8 g1 X. j var orgRGB=getRGB(orgColor); ( g) [! ?% N1 N7 w. \) ~; O
. b" X9 U5 m; ^; ~ var parentNode=node.parentNode
& Z* Y, V8 K8 J0 G var parentBgColor=this.getobjstyle(parentNode,"background-color");
3 K5 ~- f2 q, L$ q' d # ?2 o% d* v( T' h* z/ L
var isLast=false;& d5 V( z- a5 }' R
6 S |9 j0 O) R6 u while(parentBgColor == "transparent")
7 O& W2 ^" S1 B6 `1 Y {
8 R( S! W) n5 |2 y$ d X" W& `1 [ 7 |3 s' t# A8 j5 D
6 s9 `% W* N9 |! ^4 z# ]
if(parentNode.parentNode == null)# I9 R& f0 f* b7 h! k* v! x' Y9 ^- O
{
8 q) g1 O6 }9 u4 L( w( e isLast=true;5 V6 Q- c' I8 c+ u, k1 L9 M
break;- d6 R- h, M! ^1 x
}: F/ A5 O; X& w9 R9 \; e
parentNode=parentNode.parentNode;
% l4 q$ p- x" g4 U' R parentBgColor=this.getobjstyle(parentNode,"background-color");# l5 c; b$ l- R% \
9 `* T2 n2 P0 o. N- S+ E4 r- o if(parentBgColor != "transparent")
- f" q2 r( a4 x! B {% a8 V( M, _ @8 e9 Q5 c
break;/ D- m3 h& \9 S! @" G( V3 d+ c+ R
}
$ C+ w" w7 K' I3 @) i, c }: E5 \! @+ B4 E& _7 L" {
if(isLast) 1 K" z- u4 j0 P4 U$ m( d
{: Y8 i H* i$ d$ K* s
if(debug): V7 D# H9 h0 V* V! ], x2 o
{
$ P/ s' _4 f, B$ s: f alert("last!!");
5 X5 u! P3 q* B+ E }8 h; ~6 h \" ] Q
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
1 N) T1 v$ K* U+ A4 i {
0 S2 s7 `$ _0 n' A4 K. ~ orgNode.parentNode.removeChild(orgNode); $ _5 W2 [ J6 c# P
}
+ G, D2 {& M$ R7 u0 E* G2 n& V }8 t+ q2 I3 J& F2 |
else
$ m2 e+ b1 ^" f' m. E2 }3 j6 v {
: e7 l. U( ~8 E7 y' } if(debug)
6 Q: R$ t/ n m+ T {
" G5 l# r+ d+ i; L/ |! ] alert("compare color and parent bgcolor!");
; }' W% Y# W: G5 Y' w3 [5 j }
9 B) `. R" _9 A" b; {' `7 [& { parentBgRGB=getRGB(parentBgColor);" u% T! M! w g3 T7 N0 h- c
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 K+ p4 q; m7 i
{
* i) p. x N6 c8 M Z orgNode.parentNode.removeChild(orgNode); - S, q' L) ]. b3 A' G" w
}
& e. h0 m2 m' l! S }; f- _' f* f' S7 q- M9 w$ J; M c
}
' `& c. H& Z6 x6 P% w; W }
2 k3 e' l: r4 g% N( ] x% ]$ f" u }' h0 F2 A$ A0 F" m( L' p- g
}
x B0 p2 e, O7 ?9 |7 }7 a' c
2 X7 M) e" D3 \1 x, n3 |$ [
1 d, A j; k R% E, B var itemFrames = page.getElementsByTagName("frame");! |! p1 F& e% ?, |0 ?4 g+ L1 f
var itemiFrames = page.getElementsByTagName("iframe");
$ o$ ^% _( N9 ^
" U& V/ q- _# t0 l- g var frame, iframe;0 o7 z$ A2 i8 S6 J z
if (itemFrames.length > 0)4 ^0 V) X0 x) _) k
{( h! z; C0 R2 ~- K( e9 N- u6 ^% X
for (var i = 0 ; i< itemFrames.length ; i++) # m9 |! g3 H5 K/ u7 U
{2 A9 I8 f W7 s, l9 ~: S7 l
frame = itemFrames.contentDocument;
4 e* b1 a9 i& X7 a+ [/ b) g1 Q this.RemoveHide(frame,objname); 5 J+ Z, Q) ? _0 B6 m- L; y
}
; W: @. y7 C# J! B$ n# l& F }
+ L. T$ { L0 [) q* u1 Q; ` if (itemiFrames.length > 0)+ Q( x/ d' [% o* b: l; J
{& g% a) p) O8 G+ P2 c. R- ] X- q
for (var i = 0 ; i < itemiFrames.length ; i++) 5 B( M U. L4 t. f8 y" k0 o
{/ E( S$ @$ [1 u0 C2 j
iframe = itemiFrames.contentDocument;
5 N5 n3 I2 u7 o) _ this.RemoveHide(iframe,objname); & `% p( E) Z' Q
}3 _( V( K, T" F8 k+ Z6 x" w9 _
}
& {3 L8 t V0 G& k, W- k0 I& Y4 I }
+ t! ^, e% _) V5 W* j6 }: s8 G3 [5 k catch(e)
8 c# z, @) {( S( \6 t6 O7 ^ {5 O2 x+ [1 B8 h# ^
if(debug)
0 J% i7 h) p1 A0 c {
9 b4 U# f2 I8 h9 g. S alert(e.message);; l) O" ?, O( F" X# }1 Y- u& r/ x/ m
}
$ B. @1 [: K7 K# I }
5 p* r3 n9 s! ~6 T% b }
& a3 W: s8 G/ W- X ! t O- F/ x% V8 X, H8 t
}" @+ Z4 n% e/ ]
9 ^$ C) d0 L: y
function getRGB(colorString)
) W+ F6 R! P8 k1 K: U: m{
5 M( F( T$ t% M/ v% H- a( r; p var RGB = new Array;: @1 e: X, b9 }- p% F
var tempSting=colorString.substring(4,colorString.length-1);1 B/ x# |, T+ A& C) b; Q+ t
var tempArray=tempSting.split(",");& s, S0 G: x/ n8 ^8 _; `; ], z
9 Y% F5 O& k& o; S" t9 i RGB[0]=parseInt(tempArray[0]);
" b/ q+ {" s& T" z. j RGB[1]=parseInt(tempArray[1]);
) V; @5 K* ?8 x7 U RGB[2]=parseInt(tempArray[2]);! p% q& [% t) h* T" k2 ]3 B
. e# k/ q1 T6 @; {/ U- d5 Q* H M3 ?
return RGB;5 w; O; T3 q* K2 U2 n
}, J, J& j4 n6 B2 }
function keys(evt) 6 ^$ X" m# P/ {2 J1 B$ f
{
! C9 m2 F) }2 P' n2 W9 F if(evt.ctrlKey && evt.keyCode=="81") 4 B' z. o' r* V! j* d" Y
{ ! l, r1 e6 ^ M9 }
CleanHideObj.on(0,1);& i4 E t$ |* `5 x
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 J) o; O% Q5 \6 u, m! _ Z- u, u
/ k* D2 Z/ }* m i* C
}
1 C. P* w; [3 L4 V* R }
/ ~- T: R$ z2 K3 l9 M: t7 o+ [document.addEventListener('keydown', keys, false);
' O9 @$ Y' o% ?9 mGM_registerMenuCommand ('Clean Hide',/ X6 k( Q1 A5 ^
function(e){9 h" ?: f/ a1 O& Z
CleanHideObj.on(0,1)+ w5 L' q$ `4 h
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- w3 m. p0 z& h6 j0 y/ G% u6 ~/ ~});0 U9 h* Y4 `# X" i- P
|
评分
-
查看全部评分
|