|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 . O0 A$ c" ~) O' o
; s6 X A' k8 S! [* J火狐插件,用猴子
& F2 s; b# n# @. @9 k8 W
2 }1 I- b8 G0 `: y# T4 tvar debug=false;
+ B) C) o& G$ yvar CleanHideObj=new CleanHideClass();7 w. \# G- k' e$ X; G: a; _/ K
$ @8 z3 X0 M4 J* {$ U
function CleanHideClass() ( d* d, J' l& U4 s, k8 ~) E
{
" E, B0 |. u1 D" h8 g) Y+ a
) ^# K" }/ V. l: l this.on=function(id,bMZ)! C" l: H0 x8 [3 b1 M( Y
{
& c* W/ H( s$ i, N ' v! G. U" ], P
if(id == 0)
$ L" g( ^$ W5 }. n' ` {$ r1 L. X( j2 N( ?
var page=/* document.getElementById("content").contentDocument */document;
. r' @ W( c2 r/ T1 ^ this.RemoveHide(page,"span");
5 \* B0 ^' F7 A/ t this.RemoveHide(page,"font");: H8 T- r# }- |$ _, l' Z, k
this.RemoveHide(page,"div");8 J8 W' V+ q; ~' |
this.RemoveHide(page,"p");
6 ?# \; j1 m- X1 X
/ Z3 p/ N' o' O }
) D+ U6 R' x* ?% w( Q! v. b2 g! V 2 z5 T' p a; x4 c6 S8 Q. ]' I
}( ?7 T8 _* u, X) g- R
this.getobjstyle=function(node,prop)
. ?5 M2 C2 h' N A J* \ {
: r. ]; Q/ }/ r3 w6 d try4 g* N9 Q+ A3 R) _: i6 g( f4 q
{
5 B. T- U6 T: x9 P6 {2 C return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
0 }9 X- P( q# C- W }7 y/ y% U. H! P6 M& ~# e- D' |( {
catch(e)
; Z) x, [7 @0 L {
6 D; l+ Y" F+ H5 j# X( W if(debug)* K) y6 C7 k8 I
{
1 I. r2 [* }8 p5 @ alert(e.message);' N: w$ p% X, V$ t
}( s% s; E. L; m4 |$ C* n% Q' ^
! Z# J2 u. ^- v% P
return "200";( |) w" _* P, i3 [) U
}3 S; C; Q; U( T- F0 A
}
; F" ~6 L2 R+ F
& m; r/ j4 i }! B, `2 ?: Y" [ this.RemoveHide=function(page,objname)
" R5 h" V: F: H1 E {5 k: d) P; c8 }" B, g: h2 `
try
0 }( j$ n$ u: q9 f0 S9 \ {$ h3 E7 Q3 x7 }
var minValue=15;
/ a7 d* ^! }4 W8 @ var objs=page.getElementsByTagName(objname);
; M# ^% q$ v) ^" x9 i
4 o7 u( K! K( v& W( y# s* @3 ~ if(objs.length == 0) : y* E1 ?+ @3 Y( F
{
' j5 f6 n% [: G& K if(debug)
( b& k5 ?0 ]3 a/ I* x6 z8 S {4 N; ]7 c: t9 P3 a( n* [9 d# Z
alert("no object found!:"+objname);
+ t7 }4 Y7 x* z! h5 p0 v) C7 Y9 n }
& k8 l) D. w6 P% K }
% Z, f) o2 q* f5 A. Q) G; r* q else* e7 p% b" e" y. A
{
( Z: T+ s9 y+ { 0 e) Q4 Q4 z7 d* G: m6 B1 U
for(var i=objs.length-1;i>=0;i--) 0 m" \5 J6 d7 J, f; X3 C! H, s
{
/ W; S1 J! `- O S' C: i var node=objs.item(i);
0 Z* h9 f) F. P0 m$ b6 D
& w! o. X% c: h$ E# |, U 6 ?& o* i6 r) M& x
if(this.getobjstyle(node,"display") == "none" ||' Y2 J( Y* d" k7 i- N
this.getobjstyle(node,"visibility") =="hidden" ||& |% N, [3 x( g7 R* \; W
parseInt(this.getobjstyle(node,"font-size")) == 0) % @7 P! f" |* o+ C8 b* G7 ?
{' ^8 h4 p0 A; \( J" d& }) \; h4 m+ J
if(debug)
8 V7 `- |% ^1 Y {) i- T( }3 T+ d# p# ^
alert("remove invisiable!");4 ]- \9 ^$ T8 j* d) h; h) h7 i
}, m9 A) s4 R$ o. h% } v
node.parentNode.removeChild(node);2 w# h1 A2 b2 z$ a4 j3 S5 U
1 D& v6 |+ |7 b# L. C
}3 z) D; H5 t2 \% a4 x- r' [! R
else
2 N# F) n8 j1 ` n2 |; A {1 Z5 I6 W/ f, [5 Z6 P1 D& l
if(node.parentNode) : J% t4 |) A) I" a: E& L
{5 d @8 A5 ^8 }- ~. b, N$ M
var orgNode=node;* ~' |1 ?9 o% t) @
var orgColor=this.getobjstyle(orgNode,"color")5 I& J. Z, Z1 Z3 d0 [
var orgRGB=getRGB(orgColor); 5 R2 J0 m* W% w7 `
) `' F) B3 O) l+ j! |7 V var parentNode=node.parentNode. p/ t% }, D, y) D4 _
var parentBgColor=this.getobjstyle(parentNode,"background-color");! B! |( o6 q- \8 T8 ?
( l. A# Q& B0 m$ q% L" ?
var isLast=false;
2 m6 ?7 _. z5 _7 E7 D
5 z) S- R' j* c. ^, e, R2 o while(parentBgColor == "transparent")
* q% k* i2 V) u {# n$ Q) u& Q8 H7 C0 ]1 a! d
. C- o o& `' o& A( B. L" ?% d 6 e' O& z6 g: e1 _4 v# M
if(parentNode.parentNode == null)% h4 ^! ~! z$ O, z3 o
{9 U# V) `* R+ x5 C' z
isLast=true;. D/ q8 I G+ S3 r" N
break;
: I5 S! ]+ l* I' O& A: O }6 E! m) A1 K; b8 [$ K5 X
parentNode=parentNode.parentNode;. N4 h" c2 l6 d' C% S3 q5 f: `
parentBgColor=this.getobjstyle(parentNode,"background-color");
" e2 N4 v P; C. q; {* P( [) R& P" W' z) b# j& b9 ?. m: s+ z; ~- p! L
if(parentBgColor != "transparent")
1 L' F7 {) ~; |) w8 E6 x6 { {. h5 C6 L1 R, K' e& p$ C; p
break;
7 v1 ^8 A: U2 ~ k3 y. u }$ v/ A; D, f8 v: B3 {
}$ G. v u, l) t; `
if(isLast)
8 p9 z! K: t# X' I. y {+ J4 f1 O; h3 a5 l8 b* R t
if(debug)/ N: ]; p/ T" V( B2 ?* v
{6 d( k' p. r" m8 w1 K2 G% ~9 s
alert("last!!");3 M- X& h4 Y3 q N
}
) v: m% T- `+ } if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
! s( f. ]9 n# O8 }: a$ j* g {
: i# A0 n5 q+ [% u7 [2 U9 r orgNode.parentNode.removeChild(orgNode); 5 A5 U, O) U7 o6 w6 L
}
' H3 {/ A V4 V) W3 x }
& ]6 ^/ M f+ X; `( l, Q else6 e: a- ~: \5 s; S( R% i
{
4 u- i+ }# @' I9 f2 p' q P if(debug)3 \( o8 D1 a. v( E4 W. Y
{/ ?: J% T4 ` k$ P
alert("compare color and parent bgcolor!");
+ R& |$ x, a0 h }' K4 \" q0 ^) @* t4 R0 v
parentBgRGB=getRGB(parentBgColor);
" k x5 @% e) N! @ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' l6 U$ x8 Z8 o {
; N0 A M3 I% i! z: o orgNode.parentNode.removeChild(orgNode);
; B+ W* h: [, ?% \ }
1 e: Z3 y" v, {: o" D, [+ a }
( ?+ ?) W- L! I/ L6 J }% @; u2 g- X- f8 q$ c
}
! j% H# k2 P, U7 h }* O; u o6 P4 b8 R1 i2 B/ ^
}- Y' j# u: [1 w
; u9 A' b( J% b' @) Y, z
1 v: @( \ m" }! p6 r. p+ a var itemFrames = page.getElementsByTagName("frame");) ?; Z0 l$ q% Y. q) \; n
var itemiFrames = page.getElementsByTagName("iframe");/ B2 Q* \. ]1 `: ^: K
: \8 p7 |1 i3 u$ A. C9 H
var frame, iframe;
F7 k+ c, a: M8 l% l7 L8 ? if (itemFrames.length > 0)
, y+ h+ c9 u* P/ Z* y% @; x7 T {( `! l# @; j9 w1 X ?9 A5 u% a
for (var i = 0 ; i< itemFrames.length ; i++)
, c) y% Z5 c U3 c/ m$ p0 L% x4 d {: x0 V8 b0 r& r6 F
frame = itemFrames.contentDocument;
0 {' z$ U. ^7 ~$ \ this.RemoveHide(frame,objname); " }% ~# p( Y% ?/ i% o, S
}4 v6 P: _7 l" ~2 X' ^* s( O
}
3 P: ]" [! _) Q0 P if (itemiFrames.length > 0)' S( A% I1 E, Z0 Y" e# P
{" L- h% J8 A! D$ j0 I$ e
for (var i = 0 ; i < itemiFrames.length ; i++) D5 _% X% N, v
{% [7 `0 L) d+ E, w n2 O. v
iframe = itemiFrames.contentDocument;+ D0 P. N( n# w$ _3 _9 e
this.RemoveHide(iframe,objname);
+ C S, _0 Y+ _8 C/ a3 _6 } }
1 y+ t+ z- C$ G' n$ J- {- Z+ g }
4 [/ A' r- B0 [1 P& x' H3 \, E- F' Q }6 H& L) q5 v' U! N1 _7 J
catch(e)
7 F5 n G; y' T {* q2 a! W% v; D3 r
if(debug)# S/ t2 x3 e& q r& u+ u
{, H1 R$ i& ~* `6 ^) q. Q) {4 j
alert(e.message);" B$ w1 l( M- k7 q6 K m% V O9 _% m# ]
}$ ~3 `) K4 G8 o$ r* m. }
}
7 |4 D: O9 l- U }
1 M! ~/ [* ~1 D" [! l ; c5 p. _# @2 T" s5 Z- Q$ u
} s/ q$ v( d' O$ N8 v7 r- i
- h( @% n: w- g$ k( lfunction getRGB(colorString)
X2 n: C& [8 s- B. \ s: o{
' c6 V6 c C" ~, d! Z% ^$ B: y# O5 L0 } var RGB = new Array; U5 W- Y9 C C2 Z& `
var tempSting=colorString.substring(4,colorString.length-1);6 _( J% b5 p+ @' V" _ X! w' o
var tempArray=tempSting.split(",");- {% M# C. F# \: Z: V0 ~
4 N) z0 G& e9 M% m; N1 T$ _ RGB[0]=parseInt(tempArray[0]);9 f/ J- p5 K* P' p
RGB[1]=parseInt(tempArray[1]);7 O$ N9 p { H+ n: U4 R
RGB[2]=parseInt(tempArray[2]);
, s5 h2 w1 V: l2 }6 C1 o5 ~ ' |) E4 V/ i" O
return RGB;
O U$ p. `1 N; c3 m}
% F* X/ V" \+ H/ p- _1 e8 Hfunction keys(evt)
1 S" {$ h. `6 T6 M8 c* D" F { * t- y$ ]; J: y9 U6 m" b( ]& b
if(evt.ctrlKey && evt.keyCode=="81")
4 Y @4 }9 N% Q/ ] { , I% M/ G% i: k! `0 a) r$ X
CleanHideObj.on(0,1);( j& j% r# T% X0 [8 p5 x
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 9 l, P; j( P. c2 c8 o/ ]
+ J) |5 x5 {1 x& B: V9 o } * @7 h1 ^, K6 _5 o" U. J
}
' u7 _4 G% }7 x4 p; \3 g% d( S' ~document.addEventListener('keydown', keys, false); 9 e6 M; s2 D% F# A. M
GM_registerMenuCommand ('Clean Hide',1 u U3 [: Y- q/ W- u9 u
function(e){' L- z- b6 X3 N) M& ^2 E
CleanHideObj.on(0,1)3 x9 o( y' ]: T3 y. g5 e7 n! J @
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");( p- _' T0 g# M% k5 Z0 g
});, g0 U0 j) j% j% M" \# F; S
|
评分
-
查看全部评分
|