|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
! d+ ]! W! a8 T1 f1 Q' }* B+ W9 d
" \8 L* e: P, S/ G* k7 Z火狐插件,用猴子
" E- @. n7 A& Y2 [1 V: N1 _1 l' n' [
var debug=false;
) \/ B* r. X1 n, y7 y: Fvar CleanHideObj=new CleanHideClass();
' b: i$ K$ z/ _0 t7 z4 p; m1 m
* u" ?1 ^( d; `0 o& Dfunction CleanHideClass()
5 X" m( G! a& M{
6 u9 e$ k6 Q( o 9 v. {+ e. Z* `/ R3 Y
this.on=function(id,bMZ)
S$ g$ E9 x8 l6 w2 a5 D; a {
( J. Z: A- e3 h1 @ : @8 O8 G! B# X6 s
if(id == 0)6 k5 E7 [3 \, V+ c# y# |4 f& H& T' |4 @
{
) U: o' |% t( \# ?/ m var page=/* document.getElementById("content").contentDocument */document; - T! X3 E. M! b1 `/ L4 U
this.RemoveHide(page,"span");
9 e$ u1 I1 X2 s$ a& [6 q6 T/ } this.RemoveHide(page,"font");
9 ]5 L0 z$ r$ e" z, |# M( j this.RemoveHide(page,"div");
% ~/ U4 x! ?/ a' [( l this.RemoveHide(page,"p");5 j) U0 e9 a r4 g, j$ Q6 f% i9 D9 p
7 B7 N, f, G! c6 C4 t
}2 v# Z8 R! y5 Z
7 M4 ]5 K; m" N( j0 U }) O6 C. P7 P, ^3 H7 E4 c% e: Q
this.getobjstyle=function(node,prop)
3 M2 O3 M1 i7 J9 P/ c {
$ q& g* d- H/ a try4 \/ T- `* U" ~* Y/ |, k* {
{
& X3 a1 C# k1 x' G0 \ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ a1 {+ e7 X B9 `% `. u }1 [$ o1 d. D9 P: d3 A% q$ K
catch(e)
/ T8 h( W3 G$ H; V" E- B {
! D: ?$ ]# V& V* M* j' q6 O' Z1 } if(debug) K+ R$ }& L- K$ t/ ]# c3 m: L6 D: C
{
/ K6 c: ?% C/ i! D alert(e.message);/ `6 }6 s% a9 A8 q( ^3 c) `6 O
}9 {4 h0 S* q2 H. j4 G, ?
0 l% F. g; o3 v% J& m% D( ^) v- a2 m/ E return "200";( b4 b; B1 z2 l4 e3 ]. F/ Q* [
}* }4 d( o' H* C
}
6 m. h( @ ?( B& M! V. e
2 R. Q* s0 {8 { this.RemoveHide=function(page,objname)
+ n$ ~" j: |0 ]% n: q/ d, H {, y; c# T( c+ i6 m% L7 j% m+ E
try3 r7 p7 E6 e4 _" n8 V/ P7 K
{
G( c% r. x$ ?+ \* k3 I9 g& f( j var minValue=15;3 a5 R' A+ C- o1 D6 J- B! r
var objs=page.getElementsByTagName(objname); ) ]4 \% u% F# Q9 E6 K0 r
% P$ k% P) ]% N& S8 K0 P' J
if(objs.length == 0)
( q. ?5 r) z6 M! _* F% y {
6 K8 u! T8 o0 ~ if(debug); Z# U0 p9 g5 g J+ |/ K8 H J
{3 Z5 t1 V; o2 [ L+ Q% A: |* i! A& q
alert("no object found!:"+objname); _5 t' Q3 k! v' V& z. ]$ N' a
}. S: M: x1 R& m# i: R" H P
}; u0 _/ z3 I+ r- C) L6 t
else% H1 [% Y. f! V( b
{9 B/ b- R: S S$ b" j6 x& ~
5 f6 g) o% Q; D+ r7 ]4 |5 P" w for(var i=objs.length-1;i>=0;i--)
" j, `: B' e) | {
9 t% C6 ?1 X9 s/ j$ A$ e9 b var node=objs.item(i); ; j4 U# L3 h/ g+ x# ~8 f
P" B; g+ G' x) M+ m ( p9 v" w) n/ B' {' A
if(this.getobjstyle(node,"display") == "none" ||
# V# t# b9 b# h, m( i1 o this.getobjstyle(node,"visibility") =="hidden" ||
( j0 t, i- g# ~7 l9 G2 z parseInt(this.getobjstyle(node,"font-size")) == 0)
7 N7 Y, G* |! v2 ]5 X {- B" Y( }9 S# i# D8 v$ b
if(debug)$ G2 p( r: f- x5 r- U0 `
{( W7 D4 Q m1 {$ E; {1 Z
alert("remove invisiable!");
0 n3 g6 N7 V9 w9 ^# r7 p }
& o0 `' ^& e% _$ s' q& D' ]) t node.parentNode.removeChild(node);4 \" X P+ c- T5 X
; F. i2 U1 I$ ]. A: b
}
, q6 U* s/ Z& u6 g) y# ]% } else 4 \" J( U* r! Y6 N
{
0 Q3 Z& P" a, u if(node.parentNode) # r/ n: g+ m, Y- s. z2 v+ O
{+ K* R: @2 v! S; T( S" Z. i7 d! T
var orgNode=node;8 {6 m6 \' p9 g2 k; J
var orgColor=this.getobjstyle(orgNode,"color")
: ~- ^% j5 b; F: `5 C1 w; Y var orgRGB=getRGB(orgColor); & v* N4 a6 e0 G# A- ] ~
1 u# O. |7 F5 R8 r var parentNode=node.parentNode) X; T2 Y H9 l5 _# }1 i- ]9 n
var parentBgColor=this.getobjstyle(parentNode,"background-color"); G- ~+ [( {1 ]7 [& ?( i
9 [, N5 z9 d! ?* [; }
var isLast=false;
6 i7 Y& P/ d f+ Y& I
p5 G/ Q4 ]/ G0 b while(parentBgColor == "transparent")
( l- a8 L8 M5 r3 v# n/ r, d {
* u! G8 J; j, q: u
- [' C; e `9 ^) A , s8 }) S" v, H% x& N& @9 k# s
if(parentNode.parentNode == null)
% }1 ^* f; f: p7 X0 [ {
+ {, n+ V y" e, t5 A isLast=true;
, e" K0 O! Y8 G8 [0 K9 n% Q break;1 x2 m% v) n9 P) P/ q9 ^7 O5 v7 m/ m/ C% B
}- ^& |- B5 W. r5 E% q! q1 o
parentNode=parentNode.parentNode;
3 J' p: v5 Q l3 Y" B# g parentBgColor=this.getobjstyle(parentNode,"background-color");$ s. m, b4 t& Z
( u5 S8 u6 S8 o% E# y }
if(parentBgColor != "transparent")
: ?" J9 B5 o8 Y5 h8 M {6 B, `& T" V& @" V: |
break;0 A2 H5 N |- p
}) B* {) u: e* ` x0 b
}
- B6 z! o0 \- F. Z+ U if(isLast) , R E9 @( a. A8 q, `; x
{' Z% v" w3 J6 p* ^+ [' }+ z$ B$ I3 h
if(debug)' V4 Y, w$ p* O$ ?
{3 w& F* J, W1 }- R6 l! b
alert("last!!"); v; ]; t3 B r+ E
}( I2 s8 O0 B- V. b+ \; E; C
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))1 T' d! R. n2 ?9 k; \5 h$ Z: T
{
( A+ P: z H G6 J1 ]( r \ orgNode.parentNode.removeChild(orgNode); 2 ~; f" W2 ]3 d/ ^7 C+ V
}
* ?$ v. h$ }# b& H) G* p }
& H1 n6 X G# u$ z+ M& W8 n else. }8 x9 [) z |. J: @! _% J% m
{
) B* @4 K1 v3 A" t1 h: k if(debug); ?* V% t% x+ a* x2 K8 J+ R8 z
{% b/ V1 `" d! l4 M
alert("compare color and parent bgcolor!");
[' }) s" b; P7 Z }3 W2 h) J( I' @# }# P
parentBgRGB=getRGB(parentBgColor);
. h& ?. y; q: {0 s0 e if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
8 m' U" _( y8 O# ?+ k {
" H0 x6 \/ p( }. ]' ?4 I G8 l7 `7 @$ e orgNode.parentNode.removeChild(orgNode); 7 _8 o* K. X+ ], X) _; Z1 q2 k' ^
}& M' V/ i4 Z9 ]% P) G) g
}
; i* j/ t" Z" \7 z/ W( f( ~ }/ d# k- Q. @9 e: s, h
}
3 ]% ]9 h- t8 A% f" | g }& a$ }4 `7 D6 B1 O2 @2 \8 s
}
0 P0 O/ w, P: f% V. G# K
8 p) O! l$ K$ Q ! B0 y/ _( o, o: _
var itemFrames = page.getElementsByTagName("frame");4 z$ i# x* \7 m
var itemiFrames = page.getElementsByTagName("iframe");4 [* y3 x( [6 {6 T w
* ^3 h6 _( O8 c9 Y8 h6 [, B( W2 Q$ x( ^ var frame, iframe;, r6 Y6 n# F1 N* m
if (itemFrames.length > 0)" K. u0 e* {3 K! `8 g9 g$ ^1 J' X# N
{
# p" m. U% O2 b2 @6 X* @ for (var i = 0 ; i< itemFrames.length ; i++) , n' D# k& q2 Y R( t8 Z
{2 R0 m3 i! m N( T
frame = itemFrames.contentDocument; k5 p7 } E v8 f
this.RemoveHide(frame,objname); 0 h% k1 |( E5 D. z% b4 s) m, C' [: A, M
}- ?, U( x$ G. x
} h0 m* x8 d/ C
if (itemiFrames.length > 0)
6 S/ ^ v/ }+ h {3 O. a$ r$ O' d* o+ K1 E3 o
for (var i = 0 ; i < itemiFrames.length ; i++) 7 C# G8 i9 L4 H8 @- H! H" \8 C
{
, C6 k0 \+ n) N. h' _6 a! L/ A iframe = itemiFrames.contentDocument;
/ b+ ]* Y6 ]% e2 t this.RemoveHide(iframe,objname); - @( |% U5 L6 F* m
}
: d0 ]2 f+ T A" Q; { }
! Z" b6 v, X0 O- A, u6 B9 E0 C }' u, e7 P7 j, x6 B4 \/ r
catch(e)+ ?6 i% \: y* h
{
; G, n [+ B$ V if(debug)
?/ |& S0 Y4 I0 j7 p* H {
0 }8 A; `: I' o5 f7 D3 g1 Y9 h alert(e.message);' I. I( [7 A/ M. i; j5 ?0 @
}
1 x& k( |6 q0 f( k9 @% v: h/ E } R1 F1 G$ R5 d2 d: G8 @+ ?
}( s9 [' J' s( a- f' B6 Z. h% k- Y
6 R! Q8 I9 G3 s/ f8 ]}# h' T6 M" f& ^0 P) _$ n9 P4 j
" |! ^4 X1 O& B" q- W2 W1 M7 x
function getRGB(colorString)
& \9 c5 [+ s8 G, m; Z$ `{3 ^- d. ]9 v0 u
var RGB = new Array;- B0 }1 g8 T9 }! r( M
var tempSting=colorString.substring(4,colorString.length-1);
; ]* ^) n. E+ \/ y* e1 x var tempArray=tempSting.split(",");
& N- e' K% ?2 `3 D: y4 h) S3 I2 _
3 b1 \& y* A% e. ~, q O1 p RGB[0]=parseInt(tempArray[0]);
: `+ C6 z% R/ I3 E- ?; V RGB[1]=parseInt(tempArray[1]);
5 ^0 w8 @; O) _( U& a* N% m/ e RGB[2]=parseInt(tempArray[2]);( S- z7 K1 D& V: R2 m6 {4 z
, ~/ ?( @ o* ?
return RGB;7 F2 C4 m/ |# W1 F ]! c
}8 r3 G; D& A5 Q' }& t
function keys(evt) * {& i, Z, ^; a& D/ ^! |
{
1 U7 V2 s' \' d& c; O if(evt.ctrlKey && evt.keyCode=="81") + Y/ A) Q9 A* r9 Z' }; u) Q
{
7 |; [8 I# Q/ x. c% E! w8 n CleanHideObj.on(0,1);
7 {. v: ?5 O0 ?% R* C6 i0 u, @ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - M: v! l- t+ o( ? H2 y0 K6 R: q, L
* H( W' D& P9 {5 L% r L8 x& v
} 2 ?6 T1 P( C; u. d: d0 I
}
. x# [: E3 y( L- _- x# Fdocument.addEventListener('keydown', keys, false);
, V6 \5 f3 ?# oGM_registerMenuCommand ('Clean Hide',$ f9 i4 S" i: y |
function(e){7 T% c9 f, m* j. C: \ O
CleanHideObj.on(0,1)
8 z6 e6 u+ Y- Qalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ G2 q# x! l: d6 {});
6 [: H& J6 t6 l; f* m2 z |
评分
-
查看全部评分
|