|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ U9 Q7 ]% D! [ R% f
' H0 U1 v) \# F+ m/ H
火狐插件,用猴子0 C/ G+ j; Z0 J2 ~$ U% K
+ X! g& l% D: R8 n4 R
var debug=false;
+ b6 [4 @ r ?0 `8 j* s# Gvar CleanHideObj=new CleanHideClass();
: R+ L2 B" g. @: F
7 |1 L R* N& sfunction CleanHideClass()
% b- G9 u; [1 x8 O{ $ F$ |* l) t& L8 D
% |. [; P) p8 \' B! E
this.on=function(id,bMZ)
. T5 p7 J' y* ] {
# p5 V* ^2 @# L0 _- x0 Y/ H8 r
: S/ D6 c. a) w d( Z0 Y if(id == 0)- K. \1 R! ^1 m8 ^3 A( n% X
{
1 n6 X8 c; M: Z5 @) [2 f+ O var page=/* document.getElementById("content").contentDocument */document; , v' O# k6 N9 a4 B. O8 b& w! J
this.RemoveHide(page,"span");
9 u& X5 S* P& `6 n/ ]( m this.RemoveHide(page,"font");
3 p0 k% S( N0 V% v0 b6 u" h this.RemoveHide(page,"div");
1 Q2 G6 d5 W T! ]& J3 T' E this.RemoveHide(page,"p");$ S2 W6 P8 k5 G* j
# x4 e: u, s* k( \ }/ T0 d) Y6 Q1 D( g7 r4 ?9 a
$ q8 K6 _0 n' | }
1 |2 C5 k% ^, O- C2 u/ ^ this.getobjstyle=function(node,prop)
' ]- E4 E$ p3 B2 t* _5 N {
8 K% _# C2 P3 ~ try6 \7 f; e, E/ ?( \
{2 Y9 w/ g; g" h8 [3 w- R
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, p+ V7 b3 H. U- u2 v& } }) {' ^0 C1 D6 h
catch(e)/ z4 b4 r+ T. ^- E! [+ O! y9 _
{' K2 L. V% S* O+ ?& W6 X8 y) E+ p
if(debug)
, ?: Q$ w( M. y& ? {$ V# U) s# H" ]0 `
alert(e.message);0 n3 i3 b1 E2 l; O
}9 c5 i3 C& f v8 `4 ~
$ t# P9 b& L) a* G6 P X
return "200";
: j" m @' g0 r }
0 J% z3 S P0 C: p$ v }
# j+ a2 ?0 o2 M& k# L/ j
9 a8 ` {; `. m7 R; U this.RemoveHide=function(page,objname)" e- N$ K+ M/ z7 F& N. W
{
3 [0 D; ]( R; h: X1 q1 ? try
* H- E% M+ P/ z3 L2 C0 j7 v { l$ O" ?( n, _, a
var minValue=15;
2 R8 k$ P+ k8 l; {5 b# S var objs=page.getElementsByTagName(objname); & ~) x( H! o* V) E$ F8 Q. m0 ], H( u
2 l* b0 i! }$ w$ X if(objs.length == 0) ) \3 w! D' ?% e* y' d M: Y
{
) j$ ^, L# [# E# C2 D. S if(debug)/ ]6 c* q5 S7 f/ ~: T) }7 M* L
{8 F" p5 @1 t6 ?- _. }
alert("no object found!:"+objname);6 y( Y; ~1 G7 ?) ]$ Q+ `$ W9 _
}
2 s( i% i' R8 R8 z: o5 z* Q }6 K# E: o. |6 w, s3 J/ N: B) y
else
2 Q9 ^9 a: G/ B) |: I {
: U: j6 ~5 |" q( H
$ Y. G6 w% P7 ? g7 I( `( d# h7 O' ] for(var i=objs.length-1;i>=0;i--) 3 S; U. e$ a& {; f! n; d
{, C8 ^6 C' N0 [2 O; H
var node=objs.item(i);
% K# y1 i5 e% r1 l" V7 V& Q# @
5 W& X1 k" l- ]! x5 s1 a) N' E , V8 \$ f8 j+ N' O5 w! S/ j3 L
if(this.getobjstyle(node,"display") == "none" ||" o5 ?( F d) v" X
this.getobjstyle(node,"visibility") =="hidden" ||
6 K5 K4 k+ l, X! p, L parseInt(this.getobjstyle(node,"font-size")) == 0)
, f* J; [2 C5 j, O8 M {
& M. }9 {/ b4 k4 j0 T if(debug)
+ a2 r, Z( b" B {& r" {, B" \ y) y* L7 ?
alert("remove invisiable!");" E9 d; b! s3 a7 S5 Z2 P
}+ L" n3 I0 r! K) W! e5 `# }, g
node.parentNode.removeChild(node);
) `3 I8 @" r" d( i9 u
0 O- ], _ q. r }' q2 ^- B- q* x: @/ r6 F* I
else ! O4 u( ^7 M) u( Z
{. h/ v) E' [/ G2 n# _' G% w- @4 `
if(node.parentNode) 2 v, _# K$ \% t! O% [; }4 G
{8 `7 y( G+ Z! m$ g
var orgNode=node;3 h# C5 v1 E7 ?5 c: z$ Q* G
var orgColor=this.getobjstyle(orgNode,"color")8 I# j# i$ s( P ]" G
var orgRGB=getRGB(orgColor); / A. Y' |4 T% `& j2 Q# z% S; A
1 I4 {0 Y: o2 [% L
var parentNode=node.parentNode
' m7 _% p$ T% B; K# n var parentBgColor=this.getobjstyle(parentNode,"background-color");
/ G, N# p C4 L# y5 M, F
. F2 y2 E0 r8 T var isLast=false;
6 x" q; E* j1 I' S4 @2 d
) {+ d, t2 U' i9 @& o8 M while(parentBgColor == "transparent")
9 z h" A9 X' D: n F4 b/ G& B# S {
' n! q! ?! T' s ; Z, [* z/ f E) m2 k. D
% G8 `, Y" N* A U/ u, j
if(parentNode.parentNode == null)
3 i8 E* Y/ q; {, Q2 s# B {; I/ O- d2 T8 a+ F
isLast=true;
( A4 M. K- V/ T9 @# ] break;
1 t# K1 Y1 q2 ]# S8 j. W6 } }: i b( e' d" n/ J( ]9 R! N
parentNode=parentNode.parentNode;
% |. K7 {) }5 L/ J7 T6 Z7 Y parentBgColor=this.getobjstyle(parentNode,"background-color");
}7 P' ?, j: P: H1 n' P# K( U1 k* g6 x$ G" g0 ]" g
if(parentBgColor != "transparent") + l: |( D% X8 z8 v" T* n- m ^! q
{3 ^! g" u5 K4 P5 T
break;
- k) N( i* {1 d, T0 n }( t% _0 w1 d# I2 L2 C+ m; A9 Y
}
4 j! m" N% l0 v; y q if(isLast)
5 m( ?8 G: R& _& ~1 Y1 V1 _' z9 k: Z {" k4 Z! [/ a1 I# ?" ]- o1 v
if(debug)
4 r& `3 S3 Z$ c4 L. K( l/ |6 Z {' J' W8 [. z# K) M/ S8 M2 c" d
alert("last!!");$ V4 @ j& j, V5 H
}
5 b! @8 ]9 L: W3 Y8 y$ m9 } if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
8 L( A" K% ^4 P$ P {
" v, V+ t" I$ j orgNode.parentNode.removeChild(orgNode);
) b' H6 Z3 U4 F, |' A) o6 v( ]9 { }- E5 ?/ ` B3 I) T: ?
} s/ I6 n: n6 y1 ]* `2 H
else
/ B6 s& i! q1 D3 l {3 ]" D/ \6 `* |& T3 ^/ @$ y# j S
if(debug); m5 c4 ?% a, V( C
{7 k1 S8 l( t. m) g2 H% D
alert("compare color and parent bgcolor!");
4 ]0 W% I5 \% s4 N }
: L/ T4 |- p* z" i# ?3 M9 g7 y/ W parentBgRGB=getRGB(parentBgColor);
! {5 e9 k' ^0 M3 X' r if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))9 y: _/ Z+ h2 S+ V4 M5 {
{8 N. Q, j% K4 I6 Z& w ~
orgNode.parentNode.removeChild(orgNode);
! W* i" U3 I, x8 b+ E4 K }; @1 p. v; P& }
}6 g. V9 q, p- K
}
) G% I" m0 [$ _# y+ z' G }
6 t! G" Q7 [8 d: o }
7 j+ w9 s* n2 k4 o6 ~# N% I }+ S8 x7 ~6 p$ F
- q1 v; u: K2 [9 n8 s
* O9 y: @2 v; C+ `8 a var itemFrames = page.getElementsByTagName("frame");: h- R4 r, ^5 j# |) [
var itemiFrames = page.getElementsByTagName("iframe");
* q' t1 m2 v7 C ' |) t% k9 k3 p; W- J6 N
var frame, iframe;+ i& [: C2 g& I: N8 F1 D& Q0 }
if (itemFrames.length > 0)
7 H. S4 D- O+ h0 K {
# G. ]! R: C* S9 W, o/ K9 u, } for (var i = 0 ; i< itemFrames.length ; i++) 1 C; P7 i0 l, p* v+ m
{
8 s) B" R0 H+ I% v frame = itemFrames.contentDocument;$ R! J) V" O3 A( D# w
this.RemoveHide(frame,objname);
+ L) g: h& O' G: H% @$ y; L }
% M! u/ T& S" q% ^; T7 ]/ ]' [ }: N; D! L9 u' ^2 R: L8 h
if (itemiFrames.length > 0)$ _8 R! M6 Z- x% R4 Y# C& @: [
{
- O4 q4 P3 M: \& R! w7 Y/ I4 E+ | for (var i = 0 ; i < itemiFrames.length ; i++)
; R% p& f; h0 C. s& m; X" M {
( j; h4 ^0 D2 {% h, [9 D iframe = itemiFrames.contentDocument;; A- o; [- l [! D! d: _
this.RemoveHide(iframe,objname); 5 `7 P% Z2 L, ]/ h7 l) Q# z4 b
}3 k! r+ H" E$ g. v
}; L5 I( f6 T* Q a, ?3 f, p
}
- V# {( z0 y7 p/ K: ^! S& T( `9 H3 H catch(e)
, ^; P+ L6 P1 T* | {
4 @* Y0 }$ |: M$ R5 b& \8 H if(debug)
2 Q+ ~2 |- x! g {: t, H5 V( |/ J/ E: o+ M8 j$ P
alert(e.message);
1 L* o: X- S6 Y+ p/ B$ ]4 T9 x" D }; Q! Q' s. C) v( V
}
3 T6 g) J" [* k" [' y2 g) q6 s }! A9 K2 m5 r+ ?. b( V* G
( ]1 `; e6 f# U- e9 ]$ j
}$ @, D. Y i. @+ C; q' X5 C$ x% Y
9 D; K- S* V! W3 f& R m
function getRGB(colorString)
: A* }" C! {* }2 O9 x8 {{4 s3 o# u. b8 r1 H, W' ^- @
var RGB = new Array;5 k6 j) V* t5 X7 i2 g' h# z
var tempSting=colorString.substring(4,colorString.length-1);
/ Q" _* ]8 T6 H! \: h* d var tempArray=tempSting.split(",");& d9 w o% F' r
' z# n0 l, z, m$ M$ K/ H6 L3 b RGB[0]=parseInt(tempArray[0]);' L( \7 J6 c" {& S9 E; o
RGB[1]=parseInt(tempArray[1]);
' S/ B$ P8 F; ^# ]& b& s RGB[2]=parseInt(tempArray[2]);( w& i7 B$ R2 e, t0 c$ h! x ]
3 Y5 f8 v0 C" u( h/ X
return RGB;
& L( J% A' y; n* S- H}
6 y2 W' I1 o# Y) d( {" {( F afunction keys(evt)
- B1 c" x3 I/ g3 m1 [ { " e" f$ z+ Y& k. B) w8 Y6 ]8 ?
if(evt.ctrlKey && evt.keyCode=="81")
" M* ?" K j5 x( w" a- ` {
0 C1 A* B- x0 ?2 c/ u CleanHideObj.on(0,1);4 p4 k: }/ u O# H% o i
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
/ k$ b8 c$ X9 Y/ L: C4 ?! C 2 T0 }' E1 f+ f. V- a5 P( q
}
h0 X. y: p" f: ?( Q$ r }
# j, T9 O Y5 ?9 s/ J/ u' f3 i7 Ddocument.addEventListener('keydown', keys, false);
- E+ E* \( }/ n9 ~+ X1 bGM_registerMenuCommand ('Clean Hide',
# K6 G& i6 Q, H1 g- X ]8 W0 Bfunction(e){
; R1 s$ C" Y- K2 UCleanHideObj.on(0,1)
3 j; y" k0 K; A- V9 Halert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");: w: E; U; f0 h
});) `1 O' d D5 e1 x9 |; H
|
评分
-
查看全部评分
|