|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
% I+ m4 T* G! }# t$ e7 i/ N7 `! h: \& m5 E( Y/ J" U1 D& ]
火狐插件,用猴子3 S$ P A* Q9 t2 R! k" d& [
. O2 e7 i5 D8 R9 z1 r. f Vvar debug=false;
' t; ?+ H& |: Tvar CleanHideObj=new CleanHideClass();
* M4 p! k( [% |& r* l$ s- j: f9 T/ P8 {; Q1 g/ v6 B& R4 N
function CleanHideClass() 9 H4 S7 O3 } Q# l% Y. I/ o: Z* j7 o
{
5 ~# E/ x& D. ]/ J8 [! y) D) k + J/ F8 k# ^0 j
this.on=function(id,bMZ)" p M* g& c/ Z3 d. R$ V
{( ?! l5 E& w3 \- I; j( F
4 v$ k% a3 l( L
if(id == 0)1 r# b8 Q* Z9 z+ |
{
& E& I" g3 O& ]& \, s. w) J* b var page=/* document.getElementById("content").contentDocument */document; + P) X1 ]' X+ P* ^ Z
this.RemoveHide(page,"span");
0 W+ P' u% F1 {$ ?; A3 n this.RemoveHide(page,"font");, Y1 @1 V* D& m6 I; x+ l
this.RemoveHide(page,"div");; W2 \9 j$ S" w/ R
this.RemoveHide(page,"p");9 g8 i7 T& V' _$ s( z
: z' u* o/ P6 E& A: Y
}
6 x$ v$ E7 ^5 t5 Q% _% I' p; ] ^
! ?% N' {$ l3 Y* i" J } a x0 M6 k% N3 @( i) K+ M
this.getobjstyle=function(node,prop)
0 a3 t9 g5 l- [. e: Z9 \( V {) G' k/ L# m* l
try
% N n+ g4 r) \1 M$ L1 \" X5 K {
& R( ]6 k4 W5 g$ ?& W: J return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
x* a/ N2 Z& M$ V& r1 z }
( q& Y% c* C9 u" S+ w( o4 u1 Y+ K catch(e)% T- p' o9 o% S9 A- O
{
% O+ `/ b+ b) E z if(debug)' C/ E# Z* P& N6 r3 a: R K
{7 f; Z4 i" Q. Z; i
alert(e.message);
' o$ _* x2 Z1 A; F5 i }! q& N5 k3 O, K8 c5 @+ m t5 ^
, g0 _: Q3 F+ Q8 b/ ~- J# `) { return "200";; U# k _1 d. r! h4 W" d2 T
}' U- x, V" E) G# G8 p
}0 F. V5 L6 z4 u. m
& ^( j* `5 m$ ^$ ?
this.RemoveHide=function(page,objname)
) M- o" ~: A, y9 M$ k {
3 F2 B! `. ?+ w7 [/ {; V5 V try$ t! c9 X* R1 M4 J
{, H v! F) D/ r# |+ o
var minValue=15;; a0 i3 D# Z( H* a; A# }! j
var objs=page.getElementsByTagName(objname);
" R* A+ L/ L3 S' R y0 n- L+ b$ ~% o5 k* W" B% K8 J
if(objs.length == 0)
5 O1 B6 a* ]# V6 ~$ L# O C$ t {
& o, C* Q) M3 F2 n& t0 Y; K. i if(debug)
9 Y! x2 k: z+ T# P! e0 b7 W0 N& K {
% M$ c- Q9 s) K: _$ O alert("no object found!:"+objname);
1 a) H5 f8 P) M. R( I% M }6 [% k4 Q1 V) k
}( R; I5 P/ D: w# H* S$ z
else- L# H- ?2 Z6 J6 n
{" E! y, |( A! c! Q, x
7 N9 [5 `& o- F
for(var i=objs.length-1;i>=0;i--)
, j# B2 R+ ^; | {! q" I m( e5 [' ^1 s
var node=objs.item(i);
! T' s3 r; ^2 Q" k( X+ {) i3 { 7 i- T8 a& z! d: q: d+ V& w: p+ k" L
( A1 c3 b0 c0 ?
if(this.getobjstyle(node,"display") == "none" ||
- E+ \/ X9 r k2 k4 E this.getobjstyle(node,"visibility") =="hidden" ||
7 J% h+ x8 |' b parseInt(this.getobjstyle(node,"font-size")) == 0)
' h2 _/ K; m9 ~ M/ q {
" I5 `. G* u7 P' @3 ~# k! a* b if(debug)% h7 I# J1 R3 C5 L9 Y$ z2 ]6 I
{
# \/ c% h# z7 u0 l3 L alert("remove invisiable!");
# C$ b; k" ^$ r; H( G: G o% a }
) Z L6 S+ G3 ?) C0 U) F( a- A node.parentNode.removeChild(node);' x: f5 A, {# x2 O) b) y3 z
( O8 P, W+ c# i' k* p }
, T2 q3 z; F4 k# h3 k1 B/ X% a else
9 z; D: j1 ?0 i/ H& [' @% y. x {3 f' U- I% }% }0 ~, e
if(node.parentNode) * g; h7 x8 S% [0 I" @* B: \/ {
{
) P/ Z4 j; u$ z& a7 [8 `# v var orgNode=node;
$ _' G+ ?. o1 W* a- [ var orgColor=this.getobjstyle(orgNode,"color")* x: D/ X& z( M/ r @: Y7 L
var orgRGB=getRGB(orgColor);
( {- @ ^- i7 F2 r, r
, X2 Z. f1 _) `% |7 u var parentNode=node.parentNode7 ^. F5 L$ \3 Z+ ^& C3 D/ ?1 {- s
var parentBgColor=this.getobjstyle(parentNode,"background-color");
! S1 N7 u3 b" ^* @2 W3 X
. \+ c" t5 [; P var isLast=false;4 a) N9 }$ x0 w! N
( {; |. \+ m2 d* f7 v
while(parentBgColor == "transparent") 7 @1 j6 S" b M0 x
{
5 ~; \5 D! U$ z5 g
6 e; S" W" _" s
0 x, f; p& ~ q) @4 s( M if(parentNode.parentNode == null)' P$ O4 ^& W+ O# u. @) H. E6 l. `
{
# ?' C- ~* W0 ?8 A! p0 o7 D! Z5 x isLast=true;4 Z- ^( i, R; V- ^4 ?
break;
9 s8 e! C1 E$ _' V P2 t9 r' n }' c) n. w* e9 `: \1 G" o& p
parentNode=parentNode.parentNode;
- u- z3 F9 S6 g& S5 V0 N3 s parentBgColor=this.getobjstyle(parentNode,"background-color");
' W0 ]; L1 p% b4 V: p2 V, o) ?( h6 \7 }
if(parentBgColor != "transparent")
0 R0 M5 d: x! J {) p0 y! b' Z' U: K% s+ x/ N
break;+ c3 a. F* F/ ?' Y' Q9 G* |
}
$ Y" d5 p& |; O# _/ x, y }0 g' ?. ?2 o0 U$ g4 {0 G
if(isLast) ' Y; o% s _) v
{" _, T' b$ B' |; K$ \
if(debug)
; x: m! D; w% i6 a2 v* I1 A* J { A' S0 x) \+ {+ \; l
alert("last!!");
7 a/ c6 z) Z% r) _6 G }
: Z. V; Z% R% B6 @7 p1 J2 m9 J; w! h if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
" \) i: x# l: l, G. i/ d {
' b8 g- Z# d2 s1 z, G6 H2 v( y orgNode.parentNode.removeChild(orgNode); 4 _% r5 }# U9 F" X+ t$ H
}) E8 v% U( L% \8 c
}$ W K" [( h# I1 R
else9 P0 Q1 U& a" y1 n
{
. F8 g# q; S, `- c4 w, \ if(debug)* ? q7 W9 e; O1 y. U) J: p
{% `) T' J1 I. I, d% E
alert("compare color and parent bgcolor!");2 i: ]' g1 o$ T9 X7 G! A/ j
}( [+ u( G4 U8 h' D' v9 k
parentBgRGB=getRGB(parentBgColor);
3 r9 p6 p+ L. v# ?4 W, J- i9 B if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. U' l& N8 {8 a1 A! d( [: Y {( p! H5 `3 r" n: K
orgNode.parentNode.removeChild(orgNode); ; N0 u8 A' u3 m7 b7 s( i
}7 d2 m4 h. B; H# q# l
}( m0 ~8 X+ `5 r2 r0 k. |, b
}% V, W& \" n0 E+ C5 p
}
: I. `9 J, W3 z }1 l- t8 S8 x) l3 d
}: U+ l. G% r, D" d* P; G" n
6 Q7 b! _3 ~# Q/ e) f8 s4 [2 Z
2 O% p! [+ U- t" q9 n8 o var itemFrames = page.getElementsByTagName("frame");
8 a, G- \% W B7 r7 j9 C# ` var itemiFrames = page.getElementsByTagName("iframe");8 n* e' P c4 [% O1 o9 _
% L: F( V1 s. u- P2 [, Y
var frame, iframe;4 y) R& V/ ]1 a0 t' B( G
if (itemFrames.length > 0)4 n6 T6 J( K" ]
{
$ B4 t: d. k2 z% M for (var i = 0 ; i< itemFrames.length ; i++) 0 x% _( s/ a1 R' n, v1 u8 @
{9 _6 U1 }: V8 v1 ?0 S. {' f
frame = itemFrames.contentDocument;% l5 |% C' r, m$ D
this.RemoveHide(frame,objname);
. c+ [5 t' I0 E7 g( x }
6 h' S S& I! _3 p' s0 F }; J! `. s' @, K2 t) T) x+ H& D
if (itemiFrames.length > 0)
; {" w4 k0 Q( l4 x3 x5 m {: Z' F5 S) z6 o& ~0 T
for (var i = 0 ; i < itemiFrames.length ; i++)
( ~8 j5 h! `) J0 C7 w* ?+ ` {" C0 j) ^5 h+ G1 a( L% D* M% X
iframe = itemiFrames.contentDocument;
$ d6 e) X8 u+ i2 o this.RemoveHide(iframe,objname);
2 C3 ]/ E% I. B3 N4 g1 e' p }
% z% [1 q* `7 }! H8 V }
6 j: D# c5 x9 {8 S/ U. p4 b }; d3 |1 {6 w0 D6 T9 N( S/ j
catch(e): Q' N" W5 o; ]3 ^( D+ Z: i4 n
{1 f9 c% E+ o( N
if(debug)3 B7 e. y1 ~! y: c2 ^
{
, X+ g& L7 _! J8 c. | alert(e.message);
) Z) X$ E1 J t7 S" }0 u }: P: n7 l8 _3 u4 s" e
}
! N9 r, W8 c* h4 Z3 D" O }( H: @3 R" ^5 `/ x/ i& M
$ X3 b+ m2 ]# o* i3 C1 V! O
}+ v" x; a. e ?9 I+ `/ y
5 j8 N. {$ A3 i! W0 P; F
function getRGB(colorString)! T7 U* r5 r- |# h3 I% m
{
2 x" H( u. Q2 u9 t+ y var RGB = new Array;" t, O' p( @5 O
var tempSting=colorString.substring(4,colorString.length-1);4 B! X+ f4 _" n1 h8 d5 e% T
var tempArray=tempSting.split(",");
/ b! y5 ]' Y; h, g$ ^3 }9 R4 C3 _/ u6 L* P
RGB[0]=parseInt(tempArray[0]);' m* q4 Z* G d/ X
RGB[1]=parseInt(tempArray[1]);
7 ^2 @" ?2 S" n# y4 I RGB[2]=parseInt(tempArray[2]);
& o/ O( Y# E- U, z6 }% n
/ o j0 I( C0 e! X' w" {( B9 I3 \ return RGB;
8 q- \5 e; c, Y- H8 p& W, j, M}9 O2 R7 F7 O2 ?
function keys(evt) - K# N/ }# b9 e' N
{
3 @) _3 k: D6 p' C) Y8 y$ J0 n if(evt.ctrlKey && evt.keyCode=="81") e0 ]2 e* S) j6 C* v
{ + w) w1 ?! E2 g
CleanHideObj.on(0,1);
k$ U" c0 c, r. O: L9 u V( j alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 P2 t6 N2 [1 d+ `1 i$ Z1 W
, y, U) |3 q# Z; {
}
' M# l$ w e3 H$ d5 W7 j- O0 L7 u }
. I5 a0 r, |; Y6 h: P# s* K# xdocument.addEventListener('keydown', keys, false);
: D. N5 S6 a7 t* Y7 s2 w; ZGM_registerMenuCommand ('Clean Hide',
* T) R5 }$ P3 q$ \7 rfunction(e){
. D0 r! R8 n2 q, G# l5 qCleanHideObj.on(0,1)
P4 g' `& B( a7 o7 \1 ralert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# [, v2 b0 B8 W# }+ k});
+ s6 f8 P- \& g. O5 }" ?. f" b |
评分
-
查看全部评分
|