|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 4 o! n# H; D8 e* e9 v
) w" C5 M( S* `* p, a9 `) n火狐插件,用猴子& o5 {2 T* u" U; g% r) T
, e5 _9 B6 h6 i# K
var debug=false; % j9 k7 X- B! b( ^
var CleanHideObj=new CleanHideClass();
" e& _# j' S! h3 q
( D/ g' n5 [' y6 ~ ~function CleanHideClass()
( c( e# R: v, D+ v9 M$ Z{ $ h, Y. U: k7 d/ e: Y
( _5 B# o/ _$ w- `6 ]
this.on=function(id,bMZ). p, `6 J% O8 E9 a# N7 U
{1 ]1 e% Y( w, j8 f
/ ?' `% R/ k8 I. w. u: H& E. [. E9 F
if(id == 0)
4 H, |) ]+ J9 }# w7 ^ {/ Q/ Q( N/ h; F# Q0 k4 @" ]
var page=/* document.getElementById("content").contentDocument */document;
# J: E% d/ W# y8 u this.RemoveHide(page,"span");) `9 A' j) u5 |& u& p
this.RemoveHide(page,"font");
/ w- ]3 x1 L- G. G, r1 M! X% a this.RemoveHide(page,"div");. M0 X: M2 I9 g' c; I+ ~1 f; }
this.RemoveHide(page,"p");
* s1 y. G2 y: x) A+ S ; |, r+ I7 [& w* p- y
}1 k0 O7 C$ _% a5 F3 l8 p
1 \2 g6 M2 ]6 R% Y6 @ }
/ d* s' m9 v5 ?2 H, P3 j8 }" M this.getobjstyle=function(node,prop)
; `1 `3 r! v' s& Z& _ {
8 J. l+ T! r7 Q* l p- c c try
8 r3 L7 Z" h# D+ N {
! B! |7 a; q( i8 ~ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
' ]& e# i/ i* r/ }! [% r4 Q }( ^% `# v Y. g7 X: m$ ^
catch(e); Q& u2 ?1 r3 U% A3 \' ?6 D" \
{4 b: S" l" ?; \6 f( T9 h1 m3 f: V
if(debug)
. ?) `8 x+ h! g) w {1 c1 N( E3 x3 A7 \: m8 I2 {' `
alert(e.message);# h( x$ C; t [$ l/ m. }; \
}, F, ]5 A* }- {& a
: R' s1 J* `1 _
return "200";7 `& n& V+ L7 e# u4 {
}2 Q$ k9 t( H" Y6 P& u1 j
}- p) s+ ]9 c$ }! X, ^( n) n1 `9 I
w- a( D6 D# H* X' R% F/ @! B6 ~
this.RemoveHide=function(page,objname)
/ G0 Q# n% C( N$ q5 @5 \# Q {9 s* R3 T5 c% [6 x$ `
try
; J9 i' h$ b) G& K {( r3 w1 M$ p& k, K1 W: z
var minValue=15;
! H7 ~. \& r5 V var objs=page.getElementsByTagName(objname);
% l) g" h, ?* m4 x4 U
. c/ f, k, Q5 ?/ }+ }% M. F if(objs.length == 0) ) i0 F! p/ q( r& W8 e. `2 L
{
7 ^9 q. _7 i& _. F if(debug)2 P9 N0 d! q5 y' w5 D
{" {$ m3 _ H3 R, a" U6 k3 q
alert("no object found!:"+objname);( v( O* k: b- j7 _1 M
}) n" A9 \4 _4 R+ H1 e9 i/ s; m1 T& R
}
3 A. T! C5 \% s- o5 M else
4 v6 _, @) s1 l0 @' J. z0 l {
\. q, F( J' Z! s& h$ f
% M6 {; {3 O/ [: F for(var i=objs.length-1;i>=0;i--) 6 S4 I. p, i: ~
{% n8 R$ p4 j% F# A# d
var node=objs.item(i);
1 z% z: V. X; ^9 J0 c 1 f. S; y% u6 v7 S* q: N
) H4 p" G- l6 i( v2 D if(this.getobjstyle(node,"display") == "none" ||" }7 Y9 u; `5 o7 {
this.getobjstyle(node,"visibility") =="hidden" ||
" S5 ]* h- O" B- w! J parseInt(this.getobjstyle(node,"font-size")) == 0) 3 |$ \" \# [# {. n5 v
{
/ B' u- M8 [$ {( T if(debug)% ^+ S5 z7 C! _1 v$ y& \
{
- g! `5 k8 l* Q; ] alert("remove invisiable!");
* e1 b, X s9 W7 H/ I* u% P }% Q' f7 A+ R& R1 Y9 O. ^, X
node.parentNode.removeChild(node);* B/ K$ Y% @6 M+ F0 }% G
5 o, Y+ ]6 o, Q% Q. U }
7 u* F' \& ]0 f, {" I' Y% g$ [3 k+ ~ else
8 v7 X) w5 [2 t1 u6 a1 m, p/ l, l3 W {
/ l2 ~1 f3 r& s. u1 z8 C u if(node.parentNode)
. l- } ?$ n1 G8 M8 Z {
. P0 o- }7 ~! ^! P- N0 n% B8 w var orgNode=node;; b/ ~0 M8 |. c5 u& r
var orgColor=this.getobjstyle(orgNode,"color")
0 V( C7 \& S |, z# V4 } var orgRGB=getRGB(orgColor);
# \( |; _1 \3 @7 w6 O * i6 U/ F* O$ m# Z0 n. ^
var parentNode=node.parentNode
3 ~" j6 B" }" C% ?6 ?; {1 \5 z$ v var parentBgColor=this.getobjstyle(parentNode,"background-color");: y* D. B! D g. O+ w' G
5 d. ~9 D+ c% N9 {* [5 U var isLast=false;
; s& _; U# e( T
! I0 x0 q# \' @3 `. f while(parentBgColor == "transparent") 9 k$ ~* E* v5 z1 C m( h
{! [6 i) J0 ]$ V, p$ L
/ C# b8 B6 x9 K3 N* \( x
" t" {# n& G7 [ O! _7 Q6 W
if(parentNode.parentNode == null). ]) `. A+ t+ g) `, y' k! p; y1 P
{. S) y: R4 g1 G
isLast=true;
6 w& {7 U5 i: J+ F) j' r break;
/ n3 H h8 C/ z' S/ l }
8 Q6 \! T/ k* s* R5 S5 m. {! [ parentNode=parentNode.parentNode;
$ `5 w8 t6 W4 w parentBgColor=this.getobjstyle(parentNode,"background-color");8 A, I) s/ C4 o$ k9 Y" c/ r
( m8 [8 p' `, I: c8 ~
if(parentBgColor != "transparent") ( N( L% L- q7 ]" Z; L
{ ~3 X) W3 K" I. N5 j
break;
5 E! ~2 t! ^$ T+ e: j }% K; r, b5 n5 L8 {9 n
}* x4 w, u& U0 N7 _' I
if(isLast) 5 W4 r) K4 g0 \
{
. W1 f* t# k# X( k3 A+ X9 X( q( D) ^- ` if(debug)
" _0 o/ F4 ?. c% i1 v% u7 n/ G {
" c9 }$ o2 E" v$ E5 f# S" {9 K4 A alert("last!!");
+ e' @9 j; C; `9 r& I" [ M }& y' p" P; N8 |' v/ ^% U: U1 Z4 I
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
* M2 J! O8 E/ j4 { {! ?8 J! S$ S. u5 C2 _- Z; B
orgNode.parentNode.removeChild(orgNode); & e) `! g; ]7 `: C( g
}" @3 m' [& E. R7 T: N4 D
}
+ J# |) x9 O' s" o" g else
7 ^( P7 ?4 U. t! H) Q {
! I: F! u! B6 [7 L6 R2 Q# V if(debug)
8 `% L9 U) g+ Z* A! F: i9 a1 m! C {( u# ]$ g4 l- A3 y8 [, |* \2 j
alert("compare color and parent bgcolor!");
6 {' d3 t" @1 d }& O4 \ {( M: A/ S* K5 b
parentBgRGB=getRGB(parentBgColor);9 [6 @- L: U2 I* W
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ } O/ D# }' j2 U$ B, k H
{
# k- n% a; q ~& ? orgNode.parentNode.removeChild(orgNode);
5 X* R: H; Z# y; |' c6 n+ ]% h* L- M( q }
9 `. g' U* B% K" O4 L! ~# m5 k. h- ? }
1 _/ p) Z5 V( I' A7 ?! k }
+ G) D3 t6 T R# b, H }: p) i8 F: [: I3 }1 a/ x
}
6 {2 L: C. U# g8 W O$ K* k }6 A, e6 o% l4 {5 _ n- z; A3 Z
( b( v7 b) S9 n* Z$ f * f. W& d% |4 T, c
var itemFrames = page.getElementsByTagName("frame");' q: h5 `9 a; e% @
var itemiFrames = page.getElementsByTagName("iframe");
; P. ^! ~1 X% z7 u8 @
p( b$ f& T3 V% {' ^5 Q- J# { var frame, iframe;+ k$ v1 b& O. ?; z, O' ^
if (itemFrames.length > 0)2 @ R; C2 `: k# {" D
{" F; j u* H4 q1 i" h1 B
for (var i = 0 ; i< itemFrames.length ; i++)
2 I6 N4 h4 Z8 r3 M' N: O, S# x {
7 O1 ~/ Y+ i9 Z0 v$ H frame = itemFrames.contentDocument;, z9 Q: Q4 D5 C5 v
this.RemoveHide(frame,objname);
+ B3 z; _' F2 J! Y& x. R8 { }
# _9 o I8 l! v; @4 d7 Z+ @: F }: `8 D2 |1 O& {; g" R
if (itemiFrames.length > 0)& k9 C1 N% \. v( y/ ^, ~
{+ X6 ~8 H& \( {0 c4 v6 ~ h# y" E
for (var i = 0 ; i < itemiFrames.length ; i++)
& {. m8 G8 n. R" I/ X" A* ~ {
* k1 T, u; f \( L+ y' J iframe = itemiFrames.contentDocument;- Z, p3 d6 M- O* i5 _
this.RemoveHide(iframe,objname);
" N4 O9 \ x, i$ T% `6 D8 h! [8 K, O+ I0 T }
! `9 B9 O2 X9 a/ x! ?2 { |- v }
! b4 a5 @+ l9 {: L; m }0 i' f9 w. J) D1 m# D0 T
catch(e)
1 u8 M1 A C& P1 ~6 T( Q {! i, M4 L" D- v5 T* W
if(debug): D. K: G$ q& B/ w& v5 h
{
& A4 }! [8 \ y5 X& }; J alert(e.message);
' i7 g- F, m( r }
. y+ e% `6 b. Y) I }
3 {+ ~, x5 l9 ?0 f0 M' i2 B }/ q4 c/ K4 e' Y4 T5 K c" R* x
, w' \" Y; h- P9 O}
! h. F6 n6 n- {9 i7 ^! e$ t) |3 }* N
}9 a- d7 R; |; a; y/ P/ k& qfunction getRGB(colorString); t( @( v/ S' H8 C3 n" \- v; R
{2 B9 i* \5 ^6 Q# s, d4 v2 M7 N
var RGB = new Array;
0 v" S; p) P9 _/ k, l: m! W1 K var tempSting=colorString.substring(4,colorString.length-1);
4 A: H j) M, z/ \ var tempArray=tempSting.split(",");1 K& N+ c% A, k" O1 W. b2 R6 v2 b
0 U8 C( b7 A: I1 I8 V9 E) x* W& _ RGB[0]=parseInt(tempArray[0]);
" h1 A8 c7 N( ]( i) i! d- E RGB[1]=parseInt(tempArray[1]);) H$ o. j5 I- g
RGB[2]=parseInt(tempArray[2]);* g# @& P+ \+ i% R3 i; r: [ m
1 B9 Q- Q9 q2 ?; v7 u, u, V$ _, g
return RGB;
9 u( j2 c& A* s! Q7 m: u}
/ ^+ ?+ B) z5 Y9 r1 jfunction keys(evt)
% U& c; N( a# y! g6 m! S { N; w2 _+ ?1 o6 T: [' } p
if(evt.ctrlKey && evt.keyCode=="81")
* F* H7 f2 \, b5 T, y" H { ! ~3 {9 ]0 S# S+ R# a! v
CleanHideObj.on(0,1);' p0 o. V5 G) R) z/ a! K8 M
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 @2 o/ G4 h: m
5 A; Y* K6 T8 \: s! N
} , g2 F4 _5 v- [" w' X
} 1 ]" D* L, V$ Z9 w9 S
document.addEventListener('keydown', keys, false);
3 ~/ U9 `. o$ x2 ZGM_registerMenuCommand ('Clean Hide',0 K ^, D, l( P% O! X5 ~) e
function(e){0 ]4 w4 g1 n9 D% F3 U. a) M# n
CleanHideObj.on(0,1)
: Q1 l! }7 I& @ q; j Balert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ W V+ a8 ~* P( ^& U});
) M. h4 V$ U# C G- m. a |
评分
-
查看全部评分
|