|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
; d$ D1 o6 N: _- o, |8 g1 q- f9 _
$ ^: I$ b# k4 A f% K. v7 v火狐插件,用猴子% B, N- Y: C8 P0 _5 X( \
4 Y- ]; R$ h! ~3 |+ P( P0 s) }var debug=false; ^: z. n3 I+ }, x
var CleanHideObj=new CleanHideClass();$ n9 s2 }; `8 P K8 x. i- o
3 D0 N" j |) E0 ?# O3 ~function CleanHideClass() 4 h4 m# k0 ?0 a" m7 w
{
; G2 v$ `. w: U n8 {9 w % c' y6 |0 D4 z/ F
this.on=function(id,bMZ)
. m( F5 i6 @% {7 G- ?+ {0 O' A; D {
2 X- i: ~2 G: z+ } e/ b9 ? 6 o }( `: R7 m9 c
if(id == 0)
X7 C$ C6 A! R% z {; H! B' {& W% h$ e" l' S
var page=/* document.getElementById("content").contentDocument */document;
3 k9 m; E$ k- R8 A this.RemoveHide(page,"span");. v3 d% {8 b( Y) Y0 [: I
this.RemoveHide(page,"font");, B- v' o8 z% A& g/ Z# {4 N0 I
this.RemoveHide(page,"div");
% F8 `2 P) J! p* Y5 `: ? this.RemoveHide(page,"p");( u0 e/ g' R# {
& L+ W m" W- K( i f; n8 ` }
1 p/ x: S# |( m* i0 r K 6 `$ Z( m8 J1 c4 }2 w' Y
}4 D9 c3 S4 D, i2 ^% N! v
this.getobjstyle=function(node,prop)
8 W; ]2 r( \" ^3 a) ?$ F6 \ {
0 U$ P- H0 A( ~6 y9 ? try
( ]7 S/ b: _" T/ s { F* y$ n! D+ T* F
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# E4 S! v. _0 F- g
}2 d% h$ g6 V0 j& m' F n5 r
catch(e): p1 B8 _- j4 s' h! u! _
{2 @ X9 \ Q9 o6 H. _
if(debug)9 ^' _+ Q- p3 t, o k1 p
{. n9 W* G: g$ G7 v6 V6 q, T" y
alert(e.message);
: s% O4 Q6 A( r3 p7 C }% |; S) ~8 z+ K$ s0 y% H& I
3 d* k: L9 w4 {- H3 r, e9 r
return "200";4 |8 B* M+ {; O$ F" V( y2 v ?
}, {3 Q* Z5 N- F/ H; H2 Q
}) E$ }4 a- f# q" u i- ~
# i) i$ V9 h( d% Q$ I
this.RemoveHide=function(page,objname)
# h$ k* j D# z R {) E3 S1 P, E. Z0 j
try
: ^, J; s) w* ^% P- q8 E' N8 J$ E {
; T# `) v {' I/ t# ~* { var minValue=15;
: F2 l- |5 n% t1 K% b1 }( k var objs=page.getElementsByTagName(objname); 0 H3 Y4 ^- ~; Q3 B. y
6 L, E& N' n7 u) ?. Q if(objs.length == 0) ' G% l5 ?; T A$ h
{
7 R/ h5 U0 D; N8 r @+ I! J6 R- X if(debug)
1 j+ X8 ]# }" ]1 t3 O9 g1 d {
& }" b9 H/ F: b8 i7 t0 x! u alert("no object found!:"+objname);3 G. d/ f* \! v) B
}0 J) l" }3 V* e* ?, u
}
+ B/ W7 A R; A. k/ H3 Y/ W. G else
: {4 h3 L5 H$ ~( X, {) {4 O2 H/ `# _ {
4 G( B+ j- F# D# O 1 \! a0 O" F( i: q6 }0 J1 g
for(var i=objs.length-1;i>=0;i--) % G6 k( ?2 c2 I X/ {0 P* j
{5 s" p9 @) V+ e- u1 x$ Y
var node=objs.item(i);
& |8 ?$ i7 {! c- b0 B# u( E1 W
* B. l# N1 r9 E# z& u- P7 c
8 J6 u0 o" f8 y! K1 w9 D if(this.getobjstyle(node,"display") == "none" ||- X; J& |. P; l) n3 Q: @0 r/ k9 Z
this.getobjstyle(node,"visibility") =="hidden" ||/ t# Y% n! V5 @1 v6 z
parseInt(this.getobjstyle(node,"font-size")) == 0)
, W6 i, z1 C- L, B! }3 Y" p {; Q7 ^ `8 X' l
if(debug)
% M- X7 {8 O, L9 g {
/ Z( t5 G) E0 H' \, u6 B alert("remove invisiable!");
/ C* D$ P7 m! S }
# \$ _5 M1 J9 l node.parentNode.removeChild(node);
O1 ]6 A- }! X3 w# N7 m 4 \/ F; k4 K: Z0 S6 ~9 J
}- M+ ^2 t- f) B: ]
else
; S9 h0 ~' ~ N# K/ A {
" m5 ?2 B- ?8 }# S! u: N) R) Q if(node.parentNode)
( c) ^# y* B& E y {
/ A" J. K7 X: @0 j4 [( N var orgNode=node;
0 Z a2 ~8 ?2 V7 e3 S8 L var orgColor=this.getobjstyle(orgNode,"color")* \7 [( q+ y$ b8 a t
var orgRGB=getRGB(orgColor); 0 x% \6 J B/ D$ K
/ q: P9 [3 c* T! k$ }
var parentNode=node.parentNode" b5 C9 j9 G9 a% v
var parentBgColor=this.getobjstyle(parentNode,"background-color");! c/ Z1 K" C3 Y9 c* m4 T
f* m8 C/ ?+ r# f/ ~4 P var isLast=false;
2 z( W- d3 ~2 e7 F1 z, \ ' B! `* w: i9 W1 `
while(parentBgColor == "transparent") * u4 B7 a7 u4 h0 J: z# K
{( w1 e- t, f# i$ r5 c3 Q
+ b% b0 V& h) r9 S. t. o
. r5 _# q% \) c. M. q
if(parentNode.parentNode == null)' `* _- f# ]- E2 ~2 `
{
2 k, r2 u. u) \ isLast=true;" a* k; c1 a7 p& D7 g' D8 u" x
break;
6 q8 t& x. u6 a) y+ e y$ F. s( n3 A( } }( m* D! f4 l- ?. A6 Q/ o
parentNode=parentNode.parentNode;2 z: I; Q/ x- A
parentBgColor=this.getobjstyle(parentNode,"background-color");9 k$ M8 |$ n- T4 A7 u( |3 d0 o* g
, X% A1 K/ [3 d. R+ }; |7 S+ w if(parentBgColor != "transparent")
! K, l0 ^( d) Z; X {
1 ]" m* u! l% s0 J9 T. V break;! n5 b+ `+ |2 y) ^1 G# U
}! U1 i: K/ ?7 Y" \
}( Z* H" M5 P' z4 I
if(isLast) 3 Q- Z3 \. K/ O/ S9 \4 i3 x
{* r9 M, \& F# l* b. L* u. M; N& ?
if(debug)' [' o2 a: g9 B' U2 T0 f
{
# a: h& l7 C# r- W9 Y2 `) {: e5 \ alert("last!!");7 o2 f* L5 c* x6 ~1 r& ?/ R
}
( X2 _' q$ x4 ~- [ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))1 d v9 {& q! C2 q5 D
{
9 g( O N1 s1 p# p& Z, N0 m orgNode.parentNode.removeChild(orgNode);
" A- g0 k$ Y) g9 D }1 R+ H% P. i3 I9 `! N3 [
}: D1 O' s( D& t5 }+ g2 t! c8 F
else
8 {8 _7 Q0 F6 w { ]# S8 X5 y, U: l: \, _4 ^
if(debug)% k! ~: Q6 O9 F$ Y9 r# t& y% ~: q
{6 d" J' T+ j& y) o& n2 N5 o
alert("compare color and parent bgcolor!");% p# x8 C' j8 O, d, P, p2 \% _/ m% P
}+ [* ?; A* T4 h+ [
parentBgRGB=getRGB(parentBgColor);& U/ G+ b& t- @8 `6 b
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ o1 n) c) ]' ]6 K' Q
{
J: X9 t, U, B% s orgNode.parentNode.removeChild(orgNode); 7 x1 U1 g: J: R+ {5 l8 C3 `
}4 }( S S4 `" w+ Z1 u
}
' a; d6 `" J% m2 Z; T }
5 T' j8 w- x. w K2 D' \ }/ q$ J2 [/ A0 ^% g+ t
}. W3 L7 I( [ {4 y' q
}% m" P- a. H0 c7 a- r; G9 R( b
' a4 V; p- A0 E
* T. z+ u. y' j3 N0 B$ m9 J' ~' j
var itemFrames = page.getElementsByTagName("frame");( e, e0 r8 B. H1 X6 f! j1 N
var itemiFrames = page.getElementsByTagName("iframe");
" N; _! L7 S' A2 v# ~$ c / S S+ U9 k) u/ f& Z" o6 N- K0 }; U
var frame, iframe;. v2 q) _3 l1 o( r7 k
if (itemFrames.length > 0)$ q) N/ J5 @* n' C0 |7 R
{ a; j. Q% W* T, |" I( G$ S
for (var i = 0 ; i< itemFrames.length ; i++) 9 O7 T: b0 B- D. E5 ]3 ~( X5 V" d
{
! O+ a/ t# d2 | frame = itemFrames.contentDocument;
) k! N( Z, b/ l! K1 S" `. V' l this.RemoveHide(frame,objname);
: k8 O5 ^: ^. l* A" ~ }
# a2 C z7 F+ ?5 Z2 l4 n @) M }2 G) W) z* k5 o( X
if (itemiFrames.length > 0)# O: R0 J4 p" I5 T
{4 _' h: ?+ u7 h- V" d; d
for (var i = 0 ; i < itemiFrames.length ; i++)
3 L4 U0 ~; R; F4 O {
3 \/ g9 }2 \$ \ iframe = itemiFrames.contentDocument;
' b5 _5 w6 P, H3 C. C, k, R) ^; U this.RemoveHide(iframe,objname);
9 O) v5 K9 {/ ^- v* ? }( {5 Z9 g: a6 A8 J$ t. p
}
( k$ F2 T: |" D2 Y0 C% a }
0 w8 o( m5 P" }( O8 Y$ ? catch(e)
6 D2 v/ m; B, P9 A3 c {
% H1 E6 ]" O* V# t6 q p4 n" N# M if(debug)
7 D$ c1 B: ^- L/ E {3 d4 B. k5 t5 U7 Q. ?6 [
alert(e.message); b. O# ]/ S( t! J! s( s9 F4 S
}9 [" H" b4 V4 B& E5 d2 I* ?' h! f$ v
}
3 S3 a1 z# ~. p2 t& z3 I+ P }, w: \* M+ N+ H. i0 g/ x- l
) p! I9 o" R a: W, ~$ K6 \
}5 p/ `1 T* R- e7 ]/ x
4 G: f# S9 I1 tfunction getRGB(colorString)
$ h% Q1 b' o( k% G% f* F{
! N" l8 e) P! x# x" h: P var RGB = new Array;- c3 W/ [ o5 W* D' O
var tempSting=colorString.substring(4,colorString.length-1);. Q' e. B) v, C/ e* {
var tempArray=tempSting.split(",");
% g$ `" f5 K. m8 G0 @" P3 S6 L& I. E: }) R
RGB[0]=parseInt(tempArray[0]);
% E+ ~. N- a2 m( ?6 M RGB[1]=parseInt(tempArray[1]);
+ U! O0 a0 ]/ x RGB[2]=parseInt(tempArray[2]);( Z2 @3 x; f2 [7 I- } b
0 H" O. M2 R$ q4 L V( @
return RGB;
4 a( A4 f0 @$ j1 T# C}' o& Q( O( H. f2 h
function keys(evt)
* y3 D' S& Q5 |; S& _2 V) V, ] {
6 f4 \! \1 k+ x$ p; Z if(evt.ctrlKey && evt.keyCode=="81") 1 ]0 l0 R( o) ^$ V# `3 F6 z
{
7 L% _5 U. }! z* R0 O CleanHideObj.on(0,1);1 j7 k4 l" j8 S) @
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# L/ V; p2 T" l3 C4 F
( u, y- h* i+ x9 p* z }
1 b, g; ?) F7 y2 d' q( j. l- M } 0 C; J/ U! X* k4 o8 \. B
document.addEventListener('keydown', keys, false);
/ f/ B7 I2 t7 i+ ] W! x) x3 h- OGM_registerMenuCommand ('Clean Hide',
% p. ~- W8 Z9 @4 A4 a4 J' L0 |function(e){
+ R9 {' q9 f5 m% K ^2 d, }CleanHideObj.on(0,1)
, i' X0 k! |" u) ]1 |+ i9 Halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");* d1 T S" {, S* b0 a% Y
});" j4 L4 Z* k& A" H0 m
|
评分
-
查看全部评分
|