|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ G O( W( m( r3 Y2 {6 K* m/ r' b: I' [$ v4 ?3 s
火狐插件,用猴子" a, d) P; a2 N4 m' D6 v4 _, Q
5 ?& v0 d f9 c5 r$ N& |+ D" W
var debug=false;
0 l' H$ x2 ?! R9 C$ bvar CleanHideObj=new CleanHideClass();# |, r# e# g" t- J) i" k) h y) N7 @7 n: k
8 b5 ^: A$ j: c' l+ d) i6 D8 Y2 I
function CleanHideClass() : {8 X3 D& f4 u& j6 T& W; d0 K6 m: u
{
; M8 v1 c' r1 U . w9 i+ \9 n3 h1 o# l) x8 j! v* Y; R7 U
this.on=function(id,bMZ)5 [. m5 k/ X {- B' z' W9 o
{% q4 s0 u; y' x1 D: j( a
# s% v" c" S5 \& B7 x1 V if(id == 0)# n* w7 u1 \ Z8 ~1 e
{8 E4 e) h$ L' d! i# p/ l5 K7 [
var page=/* document.getElementById("content").contentDocument */document; , k' V6 n7 {1 j( ?. d+ P7 [
this.RemoveHide(page,"span");
/ d0 ]2 n" d/ @7 z& B this.RemoveHide(page,"font");
3 u) h, @$ {. m9 G this.RemoveHide(page,"div");
( y: r+ E0 e X" z* |: F this.RemoveHide(page,"p");
0 ^0 ~) d( [) e7 w: S) E3 w
9 ^) d5 b, O; p$ N& k2 e: A }. O) Y# v0 }! T
: L Q3 @# Y) R/ C# U5 U& E* }7 W
}
% w7 J" T) @& `0 j# V' ? this.getobjstyle=function(node,prop)2 C' ^4 [9 Y+ L$ O
{
2 T4 J/ M. V' S& \1 D3 B" s try0 X( g' v) T- x! K8 F. n# x
{- H: ^0 y. N. i4 D m7 |0 I5 P
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);5 u. C# \ G: ~' p& Q. x' |
}
5 h6 N4 ~. a: _# R5 r catch(e)
% [. C, \9 s* P {
. ?* I) j7 o) e% v+ W if(debug)
0 O& `9 [8 H$ y% i+ U5 q8 [ {
0 f1 ?+ z' L" w# p; k# ^ alert(e.message);
9 Q3 {4 U0 z; ^3 v# C }2 P/ ?- f& |: `' A2 x/ W
4 r# H$ O0 F! L, }
return "200";
& O1 C# U* A' i9 R5 X% p }+ N: t0 f0 F+ M* I: S$ p
}
]( p6 m. V8 o# W& e5 }7 z$ B
4 E; l# ~0 Z& K2 H* f; ?1 _ this.RemoveHide=function(page,objname)
2 a+ }" y: `. V5 O1 X {
* m- C1 C% k$ U+ a' ~: d try
' K6 D8 R; I- f6 S {0 p& m: h4 s/ D9 J7 M; Y- r
var minValue=15;
* @1 E4 c9 ^3 f( Q' x+ D var objs=page.getElementsByTagName(objname);
( ^; Q( M( Q i/ ?# I) J8 A, v# o& R# h7 e% x' r
if(objs.length == 0) 3 R" C. i V& Y$ }/ d5 R) b
{( }; ]# p" m9 [) h% d
if(debug)' z9 F8 j$ H+ g6 `
{
! G7 K- {& Z% T3 }, h alert("no object found!:"+objname); g1 k; A3 h1 [5 v( L6 `6 N8 t
}8 n- w$ P* N3 P/ ]1 V
}
1 g. p' B: Z' R# h" | else
/ \' u4 c8 V" Y {
( N' o# `! @1 o5 j' h+ ~ 3 e9 W0 k5 F, [
for(var i=objs.length-1;i>=0;i--)
, x7 p% t+ s3 ^* S {; }# i: l, r* V7 D# S
var node=objs.item(i); 5 k' t2 w( N& ~& X( X, r, N
. x* c9 R2 h9 w- a/ ~8 R
! b% [. `9 ^. K5 z6 I. Y1 P. ^
if(this.getobjstyle(node,"display") == "none" ||
W/ p/ u8 ]! {7 L7 }$ { this.getobjstyle(node,"visibility") =="hidden" ||
& p3 q- ]$ \& M+ O9 J parseInt(this.getobjstyle(node,"font-size")) == 0)
' P2 i2 b y$ h" {% ?7 M {
0 s, ^2 _" [2 G D3 x/ J3 _% a if(debug)
" h# L& e5 K' o$ P {
" V3 {7 x4 {! ?! s1 @ g" y5 n& t9 H: C alert("remove invisiable!");
+ w+ l2 w* V M* s }0 Y* q6 s8 j; v! g( o+ ^0 O( E
node.parentNode.removeChild(node);- @# ~; B( E; [* p! [$ X, A2 X4 U
( Z0 n& u, w, ? }/ Q4 J; j5 i4 `3 `5 F
else
; m; C- g4 @6 _ {
: v% E. D( @; h2 b+ P if(node.parentNode) & z" |5 ]+ I' r1 F. ^
{+ x C ^4 e! G" |6 }) K
var orgNode=node;9 w0 ]: D; g2 s8 k, B8 ]9 u
var orgColor=this.getobjstyle(orgNode,"color")
2 h& G7 Y- _4 m$ R q8 e var orgRGB=getRGB(orgColor);
, |2 i; a, V1 I6 |; r" l* h# E
+ T' N" h& J: k; j var parentNode=node.parentNode
+ Q; s9 Q" \$ o4 `, B+ Q7 E var parentBgColor=this.getobjstyle(parentNode,"background-color");
W% g' H! E1 W) x# L3 ]9 |' }8 ]/ [
% }- ]. i- f( H% F var isLast=false;% Y6 D* j0 W% y- W+ i' L- x, x
% b* N3 l5 J' ^9 N8 l: l9 m: u while(parentBgColor == "transparent")
4 `$ l8 ?+ u2 Y, F2 q {' V& q. T# x: v& k. n& g* d# c
' G) g9 y' e" G$ d8 d
' g/ e# Q/ ?( A if(parentNode.parentNode == null)" Q4 @# ^: L4 D+ _( F
{
9 l% ~; ~% b3 h3 ^8 M s2 ~ isLast=true;
* n' K4 R# ]% I2 K" u+ S* |0 V break;/ ?- k! |/ _* W2 p) {+ E# L
}
2 B, m' L0 r. P parentNode=parentNode.parentNode;
& m- s" U, G7 \& U parentBgColor=this.getobjstyle(parentNode,"background-color");6 N( e+ C6 z0 r' M3 `( J8 F
3 {2 Z( } v4 o# l: @ if(parentBgColor != "transparent")
7 Y9 f! T$ @7 G3 i. ^6 U6 q( V: } a1 q/ V6 U {" y E' v/ J. w3 m" Q9 S' B! F
break;" {. y; q3 \. V) d/ B+ G! j- h& `# g
}
, ]- i4 _. l, N' |) `. O& r }9 O; C0 |3 b0 H; K
if(isLast)
/ p: v6 k6 |9 i8 w0 N i {0 W$ M# ~# k W8 n
if(debug)* I8 m- u0 U" n1 ]
{
' u$ ~& k1 S7 P9 E) b" @ alert("last!!");4 ^+ D& {5 n6 r
}
/ S9 z; d1 e1 G4 | if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))3 e" K- Y( A! _% p: x
{
: c B- Z6 I! b$ ?8 \ orgNode.parentNode.removeChild(orgNode); , {" O: |8 o+ ~& B
}
' ], b2 y. V3 [. v9 e0 Z6 D/ k }: d+ K$ d* e6 Z! l! i- m6 ~
else
9 p0 ~# @# M6 F& W7 I' C. X {
8 |+ R% t8 B6 n) A6 B% l6 B if(debug) q6 b& s k0 c( [$ O
{
: L6 C% m' |& Q D0 p- _2 _ alert("compare color and parent bgcolor!");2 g4 |3 q! M6 J% @/ S
}
. j! L2 ]: v4 ?6 i: }- G: _ parentBgRGB=getRGB(parentBgColor);
1 ?* R: K- A5 W+ X: N t8 } if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ r4 n+ v+ W, |* B- ~ r
{
3 m8 Q( \" S% f; m5 V orgNode.parentNode.removeChild(orgNode);
! a d p: H$ H4 x8 ^' N l' e }
- g9 {1 j) j+ B }
( M2 _1 O0 a' D: r8 [$ \3 e7 z, o }+ ?, q" h. Q# r9 B6 h
}# Z: k' E9 y/ P( z0 @
}
1 I$ B+ P; ?" [3 l K }
! U6 X' N# s. l( ~
1 {9 R' R, D' u9 r" v 4 h& T) r* @4 S: j1 o) u P
var itemFrames = page.getElementsByTagName("frame");
* o9 v3 {3 r x% ]7 i var itemiFrames = page.getElementsByTagName("iframe");9 K4 c0 d* _1 G! |0 D
" y1 J3 [1 `! D( F+ L$ S0 S* s( X6 B
var frame, iframe;9 i* o2 ?6 H9 A* Y* f
if (itemFrames.length > 0)% g K# u/ a5 G
{. y" T, E* o4 K% `/ F m+ h# c
for (var i = 0 ; i< itemFrames.length ; i++) - X5 o0 |3 w+ U- K& ^$ z$ I
{
0 |9 Y7 j' A* N0 `& ^( k! n/ ~ frame = itemFrames.contentDocument;
9 j: w7 M% f' ^7 f" e this.RemoveHide(frame,objname);
0 y- o6 V, y$ R, | p R }8 L& O4 C1 M/ e6 g4 \) h4 ^
}
1 b& h: R8 N, P if (itemiFrames.length > 0)) i3 y* j) \. o% h: t, [1 }
{' b, v" u* C- c$ I" |
for (var i = 0 ; i < itemiFrames.length ; i++) 3 N% n: n6 x( S: p. b
{' S# `% \8 e( A' A: d
iframe = itemiFrames.contentDocument;
7 ~* g- c: I3 b/ G this.RemoveHide(iframe,objname); ' |0 B9 r/ q R% E
} L" g$ E- V, F' W8 n
}
3 V) H& l, j |6 u' k! A; v }7 i4 ^4 @6 Q- k. y
catch(e)" w& M! E. k& R1 w) @1 k! |% Z
{
1 R& N, y$ u T if(debug)9 B- t K0 `+ j' \
{# `* s$ J9 g% i* U/ ]& B
alert(e.message);% A6 K4 p1 a2 P
}3 Z' Q1 t( g( S: ]% o) S3 B
}* `" J) l6 L" _5 B, N# q2 P
}
2 c7 u+ R7 U, W% ^
! N' T* V( S- {}+ J0 q( i$ | k6 R5 B
. `, V1 i, x- d4 E' W. s
function getRGB(colorString)
( z. ^( V% ~0 M$ {% `* s{
1 v3 R' w+ [8 X7 p* p3 T+ I var RGB = new Array;2 E- w- K! T/ D) d( \: V
var tempSting=colorString.substring(4,colorString.length-1);
8 H f# F4 T/ D! k* h7 u; ~ var tempArray=tempSting.split(",");
5 ~( l0 `( R+ J! z% Q' _5 {. C8 c1 ~, m7 ]( I$ k& A( R( N6 M
RGB[0]=parseInt(tempArray[0]);+ q- `4 W7 e ~( R i
RGB[1]=parseInt(tempArray[1]);
3 O, D& d2 V O+ J9 q+ G9 X RGB[2]=parseInt(tempArray[2]);3 S2 `# d, H, B
9 F; O- y$ f) b$ x
return RGB;$ M9 Z8 |, [/ b, w; _
}( n: Y6 p. V9 Q: S0 L
function keys(evt) ) N$ ~ F# d: N, S1 ~
{ / a* |" @5 R1 i0 g' H6 W
if(evt.ctrlKey && evt.keyCode=="81")
' b) B: h) ]2 }) i3 K+ w {
) E1 H1 U& f( Q( a CleanHideObj.on(0,1);& [- b- ?; j/ h7 }* w0 d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 t0 @: h/ k+ M8 U8 N2 X& ?1 X
" O, Q( B3 {% M# _+ y: B+ K- J }
! ?% `6 V ]( e" p+ x. c% ] } , j1 @0 d2 O3 w
document.addEventListener('keydown', keys, false);
, I1 @7 b, i' {3 @/ T7 }2 ?9 oGM_registerMenuCommand ('Clean Hide',
* s5 `: T: B/ T! M/ Q0 ?( j, W8 j2 Vfunction(e){
4 |" F" x. B& j- \% ^9 mCleanHideObj.on(0,1)# k7 A+ j6 ~# J* L ]) C
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");' k% B, W+ y2 {9 f( S
});
; h( J# R' L+ D# p# [$ [6 C9 g |
评分
-
查看全部评分
|