|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 0 k- n$ y; X3 g: o
8 H/ Q7 [3 E# I) F% o, Z* ^火狐插件,用猴子. R8 M8 P% K b; Z6 X3 P
! a$ H. P/ u* Cvar debug=false;
) i% y! `% |3 E" `( n. U- Q/ ~var CleanHideObj=new CleanHideClass();: [4 V7 p4 l3 b6 J" w) c
: v( N. U. G8 K. Efunction CleanHideClass() 2 |( |3 ^$ H1 |& T% ^- L- [
{ V' a- X1 t, a* ?0 w
/ u3 k* z% J) x
this.on=function(id,bMZ)
8 k1 L! z# Y D4 b: R( H {
" o! v# X# R" Q3 O$ k: q, G + l, }$ ?& `+ ]# c
if(id == 0)
. \& h# r# m5 S# T6 \ {( l1 B. E: q; J
var page=/* document.getElementById("content").contentDocument */document; ! x' u3 L. W6 y8 G& m* _1 x% o+ k
this.RemoveHide(page,"span");
6 Z# E8 h0 i: P$ d" h this.RemoveHide(page,"font");: Y0 Z) b5 H; k
this.RemoveHide(page,"div");
- P/ D% Y3 x" C; X' W this.RemoveHide(page,"p");- O* }' p5 f& H* p+ U* E/ b0 o
p# R% v- _3 u. l+ i }/ V2 n& ?# v3 m7 L
" J) Y8 m+ T+ p( B }4 I5 Y! r/ K( P4 V
this.getobjstyle=function(node,prop)
0 ?2 y s9 `4 H2 g2 r' f9 p {. [9 ]6 k2 p! v
try/ Z3 K0 C& B' j. ~
{9 J- j. Q. i, X. v% z0 Y
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
4 f7 i1 A" l' D- P3 G }
P- U9 R. s- ]2 L' `3 @6 D1 ^ catch(e)- y6 g$ h: I# l- `; y
{
$ n+ A6 i& a( ?- T- U: k if(debug)0 _3 A# G8 O4 [ X5 ], W8 X; W
{
( O/ a5 ?8 D1 i% e+ ] alert(e.message);
% t7 \7 h( }& }& l7 y' a }
# j8 j# ~. O8 c d7 f: n0 g2 L ) S& Q/ E' E# |
return "200";5 m* v3 `: e9 |2 O# w8 E0 Y
}- R4 h* m1 O2 d V
}6 {; X' e- L. m5 x1 t+ G* Q! I
# N) W! J8 X( n
this.RemoveHide=function(page,objname)+ q) ~/ t1 P6 }; [2 t1 _( r0 l
{
7 M' _9 o, o9 @$ [4 { try
8 {5 z! {' ~ J0 n {
" `& c: _7 i! U/ k' S var minValue=15;
. B% _, \& k: S) n var objs=page.getElementsByTagName(objname); % J. K, x9 Y0 p2 b0 {, |
3 i% ]* \4 d5 \0 u6 A/ X
if(objs.length == 0) ( `, q& o* ^: ?
{4 O4 w& ~) o+ G; ?- N
if(debug)
8 q% z/ _/ L: `& E; N. v% U {$ a1 V7 }4 I6 ~0 }1 {& v$ g
alert("no object found!:"+objname);, B- Q; j! A/ n6 D1 X
}9 L6 E1 Z/ [5 l% y
}$ ~0 T9 S& U7 G1 j
else
3 g3 o9 w: t8 X' H9 b7 N! q {. h" q$ ?3 D/ @& f9 G% o
0 k( j# |9 C# D& G+ n
for(var i=objs.length-1;i>=0;i--) 2 P, k+ s9 Y: T. V
{
0 B" K! T/ V8 t+ B! C( {7 v var node=objs.item(i);
3 o- B$ W, d. o4 T + R, E* L/ ?8 v& l6 M/ c
/ p# }. n, e# s T/ x; X0 f# e, J8 J
if(this.getobjstyle(node,"display") == "none" ||6 b* i: m5 t' q$ ~. z: w. L
this.getobjstyle(node,"visibility") =="hidden" ||
! n" U. W. C" G a# Q parseInt(this.getobjstyle(node,"font-size")) == 0)
) m% l5 s# a; W1 s {5 g% {8 `1 k0 B ^- z
if(debug)9 }. A* q+ t. G$ W2 D
{
- c, M9 O+ O# c8 g alert("remove invisiable!");: P9 A3 U: o/ y. z3 R! j$ k
}2 H8 p9 D; \" D% e% u& X+ O
node.parentNode.removeChild(node);& D2 c0 K6 r* K/ I# W' ~6 |# e( p
+ k- V! _: R: B8 G7 u4 Z P
}) X6 X; e1 k; `0 y6 U
else ; Y0 h" z |0 ]( u' J" }1 ]- U2 z# [
{' s6 }! I: X, _7 N" ]6 t
if(node.parentNode) , Y2 j- g" v. a2 w
{
9 Z$ O/ }% k) S3 {! s0 b var orgNode=node;" y/ L: D; `; R- O) A' z
var orgColor=this.getobjstyle(orgNode,"color")
5 c2 Y/ R- R% h7 g- r var orgRGB=getRGB(orgColor); ' }! l {3 s# v9 B) \6 Z
7 _4 _* i2 T8 Q5 q1 G var parentNode=node.parentNode4 [! j2 t3 @+ n2 h- x
var parentBgColor=this.getobjstyle(parentNode,"background-color");/ d# l8 ^( y& N* [9 F; \2 h3 F5 y* s
4 T- g( z% q7 Q
var isLast=false;
" w, z! Z5 [5 |- T2 @$ l- L1 w 6 _# C; C O# @6 |- ^$ k
while(parentBgColor == "transparent") . t* ]( m' s% }' ~8 m5 }
{
/ Q5 s: x; V( d0 V: u
" i1 d2 a5 _! t+ J" L9 J+ w
2 `4 E/ R, L4 H. I- x% | if(parentNode.parentNode == null)
% h+ Y K& o! {! Y2 ?+ o {- S# V& O4 s0 p% d3 _
isLast=true;
W$ { u2 ?' N3 a break;/ Z1 c. G: z' w2 [8 b! B! P
}0 w+ l" b/ j# Y1 g( P& p
parentNode=parentNode.parentNode;
7 O! y! E4 t0 l* S& v parentBgColor=this.getobjstyle(parentNode,"background-color");( l: c, |2 H" q" g% P
/ f' F& {- Q& Z
if(parentBgColor != "transparent")
2 H! `. [8 c5 E, d( s {
; c% L4 E1 a& h- N6 ~5 B9 n) H+ T- F) M) Z break;" P/ j) Q/ H* D2 s" z8 h( |6 K
}6 G/ P, K6 Q5 f S5 v, g# d9 t
}
( X8 @% m. n( G0 C if(isLast) ! |+ W$ Y' Z9 U( {4 V }
{
w4 Y/ r# E x1 { if(debug)6 {. Q& C- p+ U% p& D
{
% j( G' m! T, z( i& G) z& j alert("last!!");
2 F' g# u# f4 C }" K8 \, P2 i1 T5 {1 t8 m
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
5 t. ^6 ]! V3 V" E1 ~7 d% ]& i { W0 J# Y2 h9 o- \) `) N1 Q/ x
orgNode.parentNode.removeChild(orgNode); # L# v/ C- B6 e. M1 Y& P' t* E
}
8 [: }9 r$ D( s; M" k }
% `% l' I/ N( q6 n else
: o* z' I1 g( K* [0 x* [ {
- f8 k/ `: s2 N2 \! L% Y* B if(debug)
; F& \% K0 Q# ] K; k {
- K$ e- L2 S4 `; R7 ]0 X$ g# x alert("compare color and parent bgcolor!");% `2 Q+ N$ q* H1 P, h
}
, {! k- M4 u$ W/ ?9 k, U+ Y parentBgRGB=getRGB(parentBgColor);* D- D" n$ d) H& L
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
% c+ B" A; |2 d9 }' v8 s {3 J. v. p0 \! j! o( T- C
orgNode.parentNode.removeChild(orgNode); 8 o& ~: a0 J" g$ X- Q4 g0 D6 s" T6 j, B
}
# g& e& N+ B) {' O }
# U# H" o% t1 J6 T0 b3 d }
4 J: v0 D; X1 |- w/ g/ D; }" K }
" S' O e, J8 u8 C }
& G$ X* V! Q) K/ i# o }
( v7 Q0 H: W9 T& U- P ; k5 W5 c6 U6 f B
B9 e d# S; Z
var itemFrames = page.getElementsByTagName("frame");1 p6 u: [0 q5 q7 s6 _
var itemiFrames = page.getElementsByTagName("iframe");
\- p% l& @( B! L' h
: [0 q8 L8 Q! J1 w7 t. t var frame, iframe;: C, i$ K" \# b
if (itemFrames.length > 0)* L0 L2 U2 A$ i
{
/ l$ J# q3 f. N$ p9 p for (var i = 0 ; i< itemFrames.length ; i++)
* s: x5 Q; n7 `& f! h9 | {
* A! Z0 ^- R W0 Q' q. a) C frame = itemFrames.contentDocument;% {! K4 Y8 V z V; g8 b
this.RemoveHide(frame,objname);
" |1 j, j8 _& G) |/ Y7 l/ Q }5 s; F% i. _$ r- b3 }
}, w( z0 `$ j: \% E( F
if (itemiFrames.length > 0)
' j) L: _4 F" V' C {/ L; Q" G' v$ N/ N: ^+ \
for (var i = 0 ; i < itemiFrames.length ; i++) 0 L g3 |$ @3 H! W
{
- Z! P F3 b0 R9 {& }3 B iframe = itemiFrames.contentDocument; a& j8 k) l# i9 i5 \3 S3 o. w4 D# Q
this.RemoveHide(iframe,objname);
% S I3 X2 B# n. Y9 B4 e }
; O: o, ?! e% U* F7 O }" T: E& i' @" a; ]- s
}4 A; c7 I# i" i9 Z1 Q/ @' O
catch(e)
. B2 m- s, s; U* j2 X' i {
) L3 p, B+ ^4 ?- B1 Y! e if(debug)4 v) q( n8 y1 T0 Y
{
+ B7 u0 A7 Z% T9 p7 s alert(e.message);
l- ^6 |6 h4 n! b/ s: @ }/ Q$ X7 x& l3 G! [- K. t
}2 `! s) a% g( A* C
}1 K" X& e$ G" B+ J1 x
: K* v! _# u5 n* `9 k}
9 h" D" a$ Q a7 F
" y2 M& W0 l5 X1 `function getRGB(colorString)3 L0 K2 H/ k( G" e: G
{
0 V! ^4 M! e7 X* ?3 f+ \ var RGB = new Array;+ b8 }) R4 \' N+ C# I% b( ~& G
var tempSting=colorString.substring(4,colorString.length-1);
9 X' b) |: ? ?8 c) m2 H; B% L* c var tempArray=tempSting.split(",");
4 X# I3 \' \3 d0 O) J1 q% n
2 e5 {( ^+ ? Y8 q/ M7 Q' ^$ ` RGB[0]=parseInt(tempArray[0]);3 h/ T; I3 y; E' l3 p
RGB[1]=parseInt(tempArray[1]);* n% w) n: [( N) K, w1 B2 Z
RGB[2]=parseInt(tempArray[2]);+ P' o2 w) H* L5 u
; n- `6 H* J% c3 u1 R7 T& O1 M, W return RGB;
8 z# h* X- \0 J6 ?! J+ h9 t: j}
* g7 n( q+ Y0 z" ~# T/ Lfunction keys(evt)
e2 @ \$ r9 X4 {- S: Y( z {
7 p5 L4 |0 L; {4 [ if(evt.ctrlKey && evt.keyCode=="81") 4 y2 o% k( b# m6 S. x
{
1 }6 T. T% n/ J/ y CleanHideObj.on(0,1);
7 `: C1 H1 Y; Z; a/ w( f alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); * T. c# {& f6 d) v: K7 F
3 s% W5 e$ Y1 J) v5 K } : @, r3 o6 e5 J5 W- V2 u$ h8 Q; F
}
' k* G3 ~1 J' |: E4 ydocument.addEventListener('keydown', keys, false);
$ k0 x! |/ |; g; A9 @GM_registerMenuCommand ('Clean Hide',) e5 o2 x7 }# ~
function(e){
: P: H# B0 L! {CleanHideObj.on(0,1)0 a7 c% U: P. A
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: N7 B1 ^: F( q1 w: M1 T- x});" N/ T5 C7 v, I
|
评分
-
查看全部评分
|