|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 " V+ }$ D3 G3 b7 `* I3 z6 q
/ n& N8 @4 i4 E火狐插件,用猴子, @0 b4 q( Q) E$ m" V, i
v. ^% m: D0 Yvar debug=false;
5 j+ N9 n- L7 K6 }' `2 \* Pvar CleanHideObj=new CleanHideClass();1 g* e4 b% c# U* p
& S h1 h9 r: g. Q5 G# Z- B9 {9 d! P
function CleanHideClass() 7 [9 F6 t' i' }. f8 f5 [7 W
{
X$ R& j6 M; q5 n5 M% c / p( h4 y) e* W9 b9 Q8 ~
this.on=function(id,bMZ)
2 a( @- ^) E7 Y {
' E" ?% }) ]" T! }. z 3 {$ G n G0 D2 _! |& m; t
if(id == 0)
# g' I8 m, G2 g {5 }+ Q! P0 S6 [0 q q( a- N- y7 x
var page=/* document.getElementById("content").contentDocument */document; $ e# p2 T) q0 K. e3 P7 k5 b
this.RemoveHide(page,"span");
0 o0 c' z" b u; F$ D- l% i this.RemoveHide(page,"font");# H0 t2 e1 B9 H2 H2 c6 x) F% P
this.RemoveHide(page,"div");& A+ H+ k1 v: X& c* K; W, h
this.RemoveHide(page,"p");
0 o3 _/ B: b' ~; x6 J H7 K
$ ]. P/ S$ E |4 V' Y" l }, i) Y7 N5 e3 a- N( p8 q: p
' G B. B: a. l+ C9 J }
& d+ {5 A) b! i& A* J& r this.getobjstyle=function(node,prop)/ M0 S# \7 R( r3 D
{
# c: w# e2 x% Q4 Z1 I( `- h try r* e# X6 N3 V) K1 R
{
) U( s5 n4 b% ?: d3 W return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);- q. f9 |( E4 B/ K! c9 ~4 s! P
}
% y) h ?! k% M9 S( a" C- x catch(e), G0 K" U4 r3 C/ m) w
{1 y1 u4 i! ^ m z K
if(debug) J( V- o5 l2 `$ m7 b
{, `( q6 Q' N* R* M8 k, y+ p1 v
alert(e.message);
$ T1 q% L' ]& n* v" G6 H0 K }
" s9 X% B# e) |- I9 O6 l
# a" b7 V4 o/ a return "200";9 `. b6 l6 F0 N' r ]1 Y
}
6 o5 H1 |# Y0 n" M }
& s+ t7 [% G! ~7 g& z+ \ + Z5 Q" o& o8 m/ t3 a% q
this.RemoveHide=function(page,objname)1 O: E4 S2 E( U ~+ C$ K
{
7 u1 ~ T) @7 v, J" c try
/ c8 o# \4 T3 _# |2 }) ^: p {
% u0 u7 G9 U9 a$ ~2 w% \* [ var minValue=15;
" H, @8 p4 S! f; W8 x* k2 l) c var objs=page.getElementsByTagName(objname);
7 k$ I2 |+ @' m' y$ @$ u% w* t, W% I- K" i j0 y
if(objs.length == 0)
& v/ Q5 j4 j0 v" `- l' s! j5 c {
2 f5 e. Y" P, R* O0 k- B! X& \4 ] if(debug)
8 u) |/ n, j8 R) C {
6 R+ W! M: `8 j# o) p$ t alert("no object found!:"+objname); M7 j* C- x# B0 T) k+ ^, x: g7 H
}
4 O2 ^; H! |3 e) H5 n; C q }1 V$ q! J- o, B; d0 r$ R- p0 `
else
( l2 d( p2 m5 Z/ k4 U# m' u {
! f9 J# f* g7 G$ z$ Q( v2 Q/ L
2 l! K* R3 R( f for(var i=objs.length-1;i>=0;i--)
# X/ `$ k6 J [* c' N8 b {
% n8 o8 [# [3 f$ q( E# B9 @6 v var node=objs.item(i);
/ [3 R3 b$ i' ^- G# r
' A* Y1 a3 U# i5 Y* ]- Q$ L" J$ ?
$ {2 i' y2 O& P: ^6 e9 A if(this.getobjstyle(node,"display") == "none" ||% f: A* u. Q, K6 \
this.getobjstyle(node,"visibility") =="hidden" ||
2 X: K u- ~. `: J* l parseInt(this.getobjstyle(node,"font-size")) == 0)
; c/ ]4 L: j1 O {
/ Q4 K' ]/ }/ J$ O1 h. F4 E if(debug)
9 q1 G+ f. S/ ~2 g {
* i6 P8 T& `5 X alert("remove invisiable!");
# x5 G+ N( n" k& }$ P } n$ w, l3 l7 p
node.parentNode.removeChild(node);% C* h! A' G. N, I1 r. p& P n
$ o; z: {) \0 S% b; {( c
}; R6 @( a+ P' G' X4 y$ z: k0 u$ ?) Q
else : v$ d+ I9 Q: R& K& r
{
" [* \# r* b' J( ~" {6 K if(node.parentNode)
3 C9 b$ D# c3 u3 K {
' c& \9 v( T4 j; f var orgNode=node;, q! N0 g9 M+ c$ n
var orgColor=this.getobjstyle(orgNode,"color")
4 Z) n) Y: u, J var orgRGB=getRGB(orgColor); / T* i8 [4 B+ j5 l) V
) |1 ]4 D/ s2 I0 L var parentNode=node.parentNode
) Z! Y! b% a1 \9 n; r; m7 J5 ^ var parentBgColor=this.getobjstyle(parentNode,"background-color");8 B! [% A/ F# U; y0 e& k& ~6 D: p
! |5 j9 u- \5 L) W var isLast=false;
) v8 e, b' L* I1 z6 `6 `5 j k / t/ {4 C9 {$ i% w4 |% A
while(parentBgColor == "transparent") 6 f1 ^" v1 W1 _/ Z! Y$ ]# O6 |: @2 c
{& D3 v9 c6 m5 o! `
s6 m3 G, b0 e1 @& B
0 p+ z# @, t; h
if(parentNode.parentNode == null)9 v; u+ ~ H" f# F# b7 l8 {
{+ p6 t4 I, x2 k* I- z$ s9 r
isLast=true;
# R5 k3 Q0 Z+ z; A4 }$ j. P5 i" h* L1 } break;$ R p0 Z- M" t+ D. ^9 r# c( Q( Y
}% ^2 K/ {2 u: D5 _, e; \0 d5 h
parentNode=parentNode.parentNode;
: e' d0 j+ L& ] parentBgColor=this.getobjstyle(parentNode,"background-color");
! M; Q9 H% D/ C" P0 C8 V5 |/ A+ s& V+ F* s# y! T$ V' [4 a
if(parentBgColor != "transparent")
, r2 `& ]& ~0 J8 @ { }1 N* S1 d, ]& y
break;# a& R: B# T5 o
}( t8 _& f) J! m
}
9 q2 _. u0 y' S- i3 |- ` if(isLast)
: J& @) M7 T" s: f {$ O: {% V! C c: g, q, s! H
if(debug)
1 p. Z, b2 T" A- x {
5 |$ |6 b- U* f+ G4 R- N h4 ~8 j+ T alert("last!!");
5 Q D3 `1 C \# y& C0 f. w }
) B, S2 V& }4 ` | if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))1 k- {' q0 S! [! R8 s/ u8 f' h0 @& I [% U
{ r4 Z$ O* v- [
orgNode.parentNode.removeChild(orgNode); 6 b$ s3 n: i# f2 M
}
( ^) F( U$ p- k0 [# G$ j }
: {, \( o4 E* M" |. Q8 y( f else
@3 p2 ]! i8 t5 X& l0 @2 E2 G {
: i! a; l6 q& V4 g if(debug)
- W- a1 ~- q" N5 @0 U, N {" p5 J+ F- |$ Q
alert("compare color and parent bgcolor!");
3 f7 [; r0 L2 t. m" C }
! n, o; T/ Y+ }6 s& D0 b parentBgRGB=getRGB(parentBgColor);6 C3 y, h6 O1 K# p. F$ B; g4 R8 W
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
( T! ]: w$ k3 v5 l2 D& y4 s/ X4 J {
+ S& |+ C/ v, p+ b, [. M$ Z7 O orgNode.parentNode.removeChild(orgNode);
9 e5 E9 h' W2 k {% j0 X; l6 g }
, D" ?# S/ D4 ` }- I0 B8 Y% H( P- d, j
}! t2 C* ^5 ^: D6 T9 T5 A
}
8 m& @! i6 \& v! N8 ` }
0 z7 x+ R A R* ]' d8 k( Q }
5 U( N! R8 L6 j, ]* w. v. X7 i! K 7 _0 @6 o* ^4 ?* \
. d# O" D: N2 u; j var itemFrames = page.getElementsByTagName("frame");2 b0 T# O. F- p/ Z
var itemiFrames = page.getElementsByTagName("iframe");
O% ?. C8 B7 i v8 }) B Y + |. |- V/ ?/ E% Y8 ^
var frame, iframe;
1 q' H+ b2 K% \( b$ X- Y- k if (itemFrames.length > 0)8 L! m+ a( A" z- t5 q
{) j6 s& h5 ]! |7 d' X+ V- Q: z% r
for (var i = 0 ; i< itemFrames.length ; i++)
, \3 ^+ F& o5 N4 r9 B, [! c {3 s% t$ L/ \0 ?# @/ |+ V
frame = itemFrames.contentDocument;
6 }2 W( I- [; V X) B this.RemoveHide(frame,objname);
: P: W! J" E: ^: U. d* E }" g& \+ e0 x8 _" ^$ Y9 h
}0 H" M+ T" p1 Z' a2 Z5 V
if (itemiFrames.length > 0)
7 K: e3 f3 q0 k3 i3 a5 C" A: c4 ~ {
- z& y$ x- H8 l$ a5 l$ z% L for (var i = 0 ; i < itemiFrames.length ; i++) 8 a: P0 L1 l1 H4 O1 `
{1 Q* q) R3 N W: L- y$ O- f4 q9 i+ a
iframe = itemiFrames.contentDocument;4 T* P/ I( p/ E3 J: `5 ?$ z
this.RemoveHide(iframe,objname); 5 X4 x5 b/ w$ n: x) T9 k
}
( L) X$ f. A4 Y- v2 g. k+ z0 z }* T% k3 f5 ?: U, q" G! Y
}
# F5 Y( q2 N1 g# t& u catch(e)# R1 F) i/ r/ w' G
{
! n6 g9 Z6 ]) R if(debug)+ Q6 J8 m, Z4 S. e$ W% q
{
3 J5 s& d8 `' {3 M- M alert(e.message);
; v, t5 j6 N* p% b- F# G- N }
! u3 I' ?% I. p: Y3 {2 Y) k }: {0 U! i' `: L
}, d6 e" m K4 ~" g
" X4 j. I7 x" \) E3 L, ?6 h
}
) [8 X: J3 s( _1 \# p/ k3 ~% |" p8 z! P/ V( n
function getRGB(colorString)
+ }1 [9 p' i9 B* i; g+ P2 F{, i& s1 U2 s9 }
var RGB = new Array;- t3 R# A' z( j( V* Z# E5 N# B
var tempSting=colorString.substring(4,colorString.length-1);- k% s9 H$ ^ ?% L Q0 v+ d
var tempArray=tempSting.split(",");
% V; z' q, \) D- |
1 \* _# N+ ~$ K0 @. @2 Y# k RGB[0]=parseInt(tempArray[0]);
- }' q) Y! N. S5 e RGB[1]=parseInt(tempArray[1]);- T$ C6 Z# l- r7 L3 V/ y. O
RGB[2]=parseInt(tempArray[2]);- A4 ?3 Q& ?( A; J- J
! k% F6 ?6 J: d
return RGB;
% i5 ]# _4 c3 f" B+ K}
+ Y! A/ g# |4 B3 Y$ c. vfunction keys(evt)
* ^) f! q0 f: e/ a { ; v$ A) @8 }: c! k8 E
if(evt.ctrlKey && evt.keyCode=="81")
8 q9 m7 z1 M+ J1 S+ }2 [% i/ x {
0 y# x2 x5 c- c CleanHideObj.on(0,1);( H0 V9 M$ k, K
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); / Q( t: _& z7 }7 G2 ]& d/ f
4 Y, n$ V- {4 k. \- E7 ]
} " a0 ~: k, b9 Z5 m3 h4 @6 l
}
& @5 G% J8 M+ w+ pdocument.addEventListener('keydown', keys, false);
& j- Z1 A3 R& ? ^" ^GM_registerMenuCommand ('Clean Hide',
0 L: c& Y2 A, ] Z. Zfunction(e){3 ]( h# q) Z/ U( i" ^# |; X+ w
CleanHideObj.on(0,1)7 Z' Y! R; v( d5 k5 z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 f# u! y/ D G, S, M});
% L. e$ z9 [. q |
评分
-
查看全部评分
|