|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ y& D* r8 r# K/ H$ x0 c0 C- N
- m0 |6 c9 }( C$ j7 q
火狐插件,用猴子% q- w8 j# d8 R
% H' b1 X1 B# }
var debug=false; , b9 @% a( T4 M9 f7 Y4 x+ ^
var CleanHideObj=new CleanHideClass(); A' l. ?3 M9 F9 j) Q/ X2 @. J
% \& F7 k* }! k4 C3 B) M% _- K( q
function CleanHideClass()
" M1 u+ Y3 T4 g6 [1 S( W& J" x{ % O9 Q9 ]$ i4 @9 b9 f' _- K( g. K* j
! H: }: `+ v' }/ `: x$ ?9 C6 e this.on=function(id,bMZ)
1 ~* C5 \, R( u8 N( H {: x$ D0 W9 @( g& b' m: O( L
, k, l$ a1 i8 [
if(id == 0)
& U9 O1 p. K" K M: ]+ u* D N {' A0 N# r k. }# ?' F: z. w- @2 i
var page=/* document.getElementById("content").contentDocument */document; ; k6 K/ e% |, I& y
this.RemoveHide(page,"span");; D; ` a1 D/ a x8 ~! C$ Z" M, G' W
this.RemoveHide(page,"font");
3 ?0 @" A# u7 m) S! ] this.RemoveHide(page,"div");% P% f6 B( x* y" O; X% w/ N1 o
this.RemoveHide(page,"p");
* O& v/ a& c2 d' S# q, {3 Q8 l6 v
7 y3 K! J8 z5 M$ M) f }& j1 P n4 L9 t! H3 b; ^
* G/ |6 a. Q, k+ m7 T/ ]! h6 R2 N }: u9 {4 O4 m0 y: `: s3 t% B
this.getobjstyle=function(node,prop). A9 n [, l% ]5 s4 w
{9 I0 u" E- O3 N' |# o1 W$ J
try
" t7 s) x6 Q4 H. }. s; ` {
$ Z8 a( v9 g3 q, I& n return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
1 n; a3 R* X7 s! @ }
, M2 u' w9 X& S catch(e)9 ~% P \# u* x) g1 e
{! G" m( f* i6 m$ ` M% ?' ]
if(debug)
* Y+ _6 N i) T. `; c {
3 j! {* [5 P. q+ o alert(e.message);
! j5 ]9 Y+ z* u+ _- L4 |1 r }3 K `' x N% l, ]- P. z% r
/ c- }% T$ b$ d9 m5 Y' {8 e return "200";
$ E0 E3 N2 j. q3 K6 i# k4 g) l* } }# i* P) v5 f/ d/ _
} w' G: g( ?) r; m# C9 a4 W% g
+ v6 x! L3 ` s- W4 y8 U this.RemoveHide=function(page,objname)
# g8 N1 ^$ {$ y5 o) F) l { M/ e# u9 }2 b& k1 w6 c
try
& d: _3 \7 e9 s& M _ {
8 @0 h4 w4 n5 @, C2 u var minValue=15;
5 x/ E1 N' i* W& K: Y var objs=page.getElementsByTagName(objname); 8 o: z! F2 p9 q5 m I
; L% h' O2 u: A& f if(objs.length == 0)
" G2 j: l) S+ X# o9 e3 h1 e7 @ {% l, e0 @( r% m& y/ t
if(debug)6 Q v' X: d7 p
{, ?; b. G% b( N+ w# z2 Q
alert("no object found!:"+objname);0 O/ I+ c2 K" X6 X
}
. s2 m; g9 ?' J! u0 @9 Q }: ]8 G% _' V: G) h# n4 p1 }( G
else$ w, G' b3 t) a" P# p7 p
{3 `; R0 e8 A1 g: q4 b
4 |' l ], T8 L, @6 @
for(var i=objs.length-1;i>=0;i--) " X G0 T; q: S% k ]: @3 T" q. S
{
0 p6 |4 F6 _% T0 J: d var node=objs.item(i);
0 M1 [# `$ ~) }6 K" P& z
* @) ]% r3 q% p& p0 p
' a" K' _% \5 U if(this.getobjstyle(node,"display") == "none" ||
# ]/ F( c0 x8 s( O( Y2 J this.getobjstyle(node,"visibility") =="hidden" ||2 _/ j" }% U8 S9 C+ j! n
parseInt(this.getobjstyle(node,"font-size")) == 0) . V0 G- u* U9 x4 Y7 [: P T
{
* {8 M8 r1 r& Z7 i% r1 ~, S7 P if(debug)3 F7 g! C8 I. m# H8 B4 {) e1 X% p! p
{" I( X: M/ o% \/ G5 n5 p" o5 G- ?
alert("remove invisiable!");
2 F6 e( X3 W5 i) [ }# b) w4 d3 o5 I$ o& ~2 V8 E
node.parentNode.removeChild(node);
1 U( Z, ?4 e. M; M! b
$ M7 U& F- T$ i m }
{; a2 y5 b! O' \3 b else
$ v* J/ D; v8 N/ U3 ~ {
+ W' Y, x$ h' w9 @# L2 ]2 G% G# B if(node.parentNode)
+ D- X$ Z0 d% _- R/ k { N5 s3 ?% a" ^
var orgNode=node;
- Z! G) ^4 Z% i: r+ G( @" [ var orgColor=this.getobjstyle(orgNode,"color"), C& `! S) F n9 ?
var orgRGB=getRGB(orgColor); ( Y1 N8 \- G4 g. n) m
- O5 L2 y. Z( T! l3 `" y5 B+ |
var parentNode=node.parentNode/ P/ S) \( X6 ?% A, h) X7 U
var parentBgColor=this.getobjstyle(parentNode,"background-color");, M9 {% i" f% Z! r+ f
( z; ^4 o8 ]7 G2 S4 |$ y var isLast=false;
( C. ^) I" Q( E+ \ ' j9 o& p+ Y. z% t! H4 d$ Y# @- p! X
while(parentBgColor == "transparent") 0 [5 v4 q7 n1 Q' v
{% ]/ u% h+ Q' j$ h) T
8 X* @4 @0 k# j- ]$ w2 c+ {
J; i+ w4 Z+ M if(parentNode.parentNode == null)
" K7 N' y5 e2 C/ A' n {
* u* t$ b+ }* X/ H) l' N* } U isLast=true;6 `9 e- R" F8 h- a% p
break;
- D# d6 _; n! }7 u }, R. h6 H6 V& A; c
parentNode=parentNode.parentNode;
# C) r) c+ ]1 Z' f parentBgColor=this.getobjstyle(parentNode,"background-color"); i& X8 D& N! A. |" F# v
" h/ c5 M+ G/ }: \8 ?4 _+ M
if(parentBgColor != "transparent") 4 X$ z1 ^( V4 n, A& d: k" ?% v
{
' D+ L* p9 l, O) k1 ~ break;, [' s% T4 J* s% q' Q7 V
}
% Y3 R; V% q: R& Y1 t4 E }+ G9 e/ j% H3 H) Y y
if(isLast) 0 O3 h5 M0 r5 n' @6 Q
{
+ M8 t1 C! _' f3 w9 D/ F `- T# A if(debug)* y g8 c, [* l, |
{
% P3 v; {+ P J- O, h alert("last!!");4 M3 X, q- J3 ] f6 o
}
: V; r$ e7 ~- V! `% h6 Z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))) Z. Y+ |0 c" B/ q8 c1 ?
{
: O5 m* `/ D- B3 J5 j orgNode.parentNode.removeChild(orgNode);
" r& V% w9 C1 a9 Y g! s- T0 P" r0 D }! L0 [$ `' J7 x: X1 P5 R; G: h
}8 N+ Z2 _8 k" `" s
else
3 T2 B/ P; a" q4 _ Q# d {9 N( N: ], a& Z; K: v
if(debug)
* o7 P$ x& T, R. V! |+ ^7 P* q0 C$ p2 h {
# m6 a: G- ^3 L; O7 k: j( T# G alert("compare color and parent bgcolor!");1 w- E6 N' g M2 \, q! m0 N0 P
}0 w' m( O, ^7 K y- x
parentBgRGB=getRGB(parentBgColor);1 P) J, g! A. Q9 l$ k) M
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 _' K" c8 p7 y" e1 ^
{
0 ~% G* A* s4 T) R3 d# o9 S; ] orgNode.parentNode.removeChild(orgNode);
4 i3 Y* G7 u) u N. B; N) ] }
6 k% b7 T* @0 t" r4 M+ o9 h }5 v) k3 c! _- k( d
}
9 f4 Q4 P$ C$ E+ K }+ u" q( T7 G4 b+ j1 G
}+ T# `5 \; Y1 D' r, X( C
}1 f1 y2 ]- q6 x* A @) O
- C; q$ K- m [% Z9 `7 | ! G( G) J& L, ]3 x
var itemFrames = page.getElementsByTagName("frame");0 ], v3 x d1 _6 D1 l% t1 n/ e
var itemiFrames = page.getElementsByTagName("iframe");
5 u( I1 r! }9 V8 O7 _. t
& b+ R" N/ O+ L7 \+ C! W6 O; ]9 | var frame, iframe;! N' s! S9 f5 d/ _+ J) K( C6 n
if (itemFrames.length > 0)
0 _- o; m" {. L- L( Y: z {
( V% d# w1 t9 F3 P" { for (var i = 0 ; i< itemFrames.length ; i++) ' {0 ?* p: \8 I: d4 s! P
{9 }: Z1 Q2 I7 k; b
frame = itemFrames.contentDocument;
, J# {( [" N5 d3 B' L7 Z this.RemoveHide(frame,objname); 5 Z+ N2 F" x, L. {- E
}
: q+ X+ a7 M# \% e. b1 p6 `7 o0 a+ Y }9 h" a! E- P/ U
if (itemiFrames.length > 0), `. j) d+ d9 X) y
{6 e1 P3 M! g# i) d% K
for (var i = 0 ; i < itemiFrames.length ; i++) 2 A. Y/ ^; [. f
{: O7 f% O! d7 _: F
iframe = itemiFrames.contentDocument;
' v0 ]7 `8 E0 O$ g5 f) s this.RemoveHide(iframe,objname); 7 {+ x7 w% A1 u+ j* k9 L" [
}, o- {. F' }, n" t8 a C5 Q
}& t. Y0 Q! \9 K# H
}
4 B3 X& W) P( H; p' i% h) U# j9 @ catch(e)0 ^$ I7 M! J; ?
{# o0 c4 H& i8 p0 f: _6 r
if(debug)
+ V& R7 z' r8 n. m6 }; E {8 _* ?6 \7 w, W( S9 \
alert(e.message);
3 {* B( Y# S* I }9 Y; _* r7 S' d; P# K: Y6 h
}4 Z7 O3 @6 ?3 ^( o# C8 k
}' o$ i( l7 {) h& m5 }8 V h) C
4 \* t9 U# K0 `}# R. J# H) e% U% ^
. C: n9 v; f8 P6 n% D
function getRGB(colorString)2 R+ N- B# k/ [ f' p
{
( H% z5 b, j0 ?7 Q9 a$ x7 X( u. j var RGB = new Array;6 s( U% G$ V6 [: y' u& S' v. a
var tempSting=colorString.substring(4,colorString.length-1);
) J% X3 U+ s+ Z var tempArray=tempSting.split(","); q; l3 m; t, t
* o0 W7 V7 M2 L) T+ o, B1 x9 W RGB[0]=parseInt(tempArray[0]);# v' E; [. I0 w6 P1 E
RGB[1]=parseInt(tempArray[1]);
( m# H/ b/ u$ y' H& S" A RGB[2]=parseInt(tempArray[2]);
8 M3 [8 a* X2 e' ^% C% k$ W D
( Q% k3 N) d% e1 K3 L% H$ K return RGB;
- k0 ?$ v$ ?" r% I4 m2 G ~9 I}
+ }) M* l' h: v! A0 kfunction keys(evt) ) v+ }( x! C% t! a5 X. p
{ 1 P# {4 J0 F/ a1 m
if(evt.ctrlKey && evt.keyCode=="81")
. e% c5 A2 ? \+ I* p) E3 p% _ { 1 Q! C5 a9 O# N7 I8 u+ r( g- `
CleanHideObj.on(0,1);# N: S3 x/ q# N, j3 n
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ( T, N8 C* [9 Q+ c2 D& [& f
+ x3 k. Q% f; b" q. v8 |5 b }
9 M* [0 | X% v9 ]4 Q8 g% P }
0 E7 U: U6 ]! T: z3 U# ^- G0 p: u( Idocument.addEventListener('keydown', keys, false);
# ?/ F7 [( Y- u) _; c& AGM_registerMenuCommand ('Clean Hide',$ j h) D" D7 c, w
function(e){+ A* K) C+ p, [$ T( ?' }
CleanHideObj.on(0,1) Y3 ^# S: ^0 l- h, x* w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% ^# i1 _9 n9 |/ @! V* ^});6 j: P* G" g/ ^9 b6 }3 R
|
评分
-
查看全部评分
|