|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
( M" v2 k* b6 M( B% O
1 K( n8 n0 p9 Q3 h( O E火狐插件,用猴子- t- E f# r" r/ j/ @, `
6 l2 N1 d. M6 _' L: t5 Z I, {: _var debug=false; 8 X% i( Y/ L9 v7 b1 \, F) O3 a
var CleanHideObj=new CleanHideClass(); h0 y$ W) ?) v2 {% ?. b! ]
8 A. q7 T$ u# ` Hfunction CleanHideClass()
! J$ O' ^; S( Q" s( ?; d{ 6 _$ W+ q9 ~3 I7 n+ A/ D" j; ?
- ^2 `1 q- B3 l; ]9 ]- z" y
this.on=function(id,bMZ)
0 G) s7 O+ h% z6 \* L( d {
P' E6 o% |% j6 w3 A
* V( k: J7 i1 k" b if(id == 0)0 R; I) R/ U& e, I X
{
% A! Y, s' Z1 s var page=/* document.getElementById("content").contentDocument */document;
+ S5 @* S8 K+ b1 k# N$ l) Z6 C this.RemoveHide(page,"span");, p8 K; ^7 d& H u7 [
this.RemoveHide(page,"font");
6 z4 N# V# b5 s9 h9 s this.RemoveHide(page,"div");
( v' w$ g8 }7 n( j- H this.RemoveHide(page,"p");
) Z3 [ |2 a4 {" k! N- A
& w* Y/ \) H: i }
$ g! p* }0 K3 ?/ f7 V8 _ 0 ^# D. `9 I0 Y4 a4 U( o1 m
}: w; T* W. y+ n& e# |
this.getobjstyle=function(node,prop)1 _( z U( u6 n. C7 F
{
6 z7 |) b8 e1 j. z+ K7 N4 c try
) I4 E+ E& ~0 c {
3 m3 ?/ _, }) L" | return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' u6 O5 v4 F* v
}2 P/ Y1 N1 Q/ s& C& Z0 r( G2 \
catch(e)1 W# Y$ [% H5 ?' Y, x7 g4 n6 i. p# _. G
{
) g- G7 L2 _/ d' s. U if(debug)" g$ G5 E T$ j3 [
{
! A9 u, C9 _ s- G; y alert(e.message);. y5 Z. D1 `, r% q# I( Y4 M7 R
}0 L% Q! ^7 u# @4 Q& t
8 b4 e" W% E2 C9 M# Q. W return "200";! F% Q( r6 L( d0 |
}# I7 x0 F0 m5 R. j* o
}, D* b7 H* U6 \* n# U, w) q
O( r7 J" `0 G+ G! S3 L
this.RemoveHide=function(page,objname)6 O) O* R! p% f# R
{% w+ e/ ~& G2 c) `
try0 |0 | S4 w& w. f1 X' M
{
8 u; S( V6 a& c- h2 R8 _ var minValue=15;
# V/ x/ S* K3 v4 C2 f: B) l9 T var objs=page.getElementsByTagName(objname);
, M$ N2 O9 q4 h' O/ j+ Y) w9 f) C4 _
if(objs.length == 0) & _7 _! m. v& N& |$ E' y9 d
{' S7 H$ T8 S! g' f% O5 y5 a! O! j
if(debug)
0 n7 g5 l% X( @+ ~( A6 Y# Z3 q {) T; ^9 n$ ^' F* Z1 {6 \; T2 P
alert("no object found!:"+objname);
; s; k. G8 h0 c" e5 X: u) ?% k }4 h* _8 E7 g" i, O6 K& o
}
0 z/ |8 G, L! \" f I else
! F. G' i1 E. ]# c& t7 O- ~9 {2 X {
- a1 Q, l) u/ h/ P6 [ j1 j : ]" U. [1 Z9 y' { M# n
for(var i=objs.length-1;i>=0;i--)
8 p R( y7 P% v: Q3 V6 a {* ]8 k9 q* _6 u' q3 N5 K
var node=objs.item(i);
: j; F* j, E8 A' N3 ~' E
8 F2 f0 R6 L; G
5 u: C8 ~4 w4 U; \3 B$ R if(this.getobjstyle(node,"display") == "none" ||
4 ~4 f1 b/ M1 r this.getobjstyle(node,"visibility") =="hidden" ||) X1 [5 R: w8 \" W K' G4 _$ A
parseInt(this.getobjstyle(node,"font-size")) == 0)
5 s P7 z2 L, n: b1 ^$ a( F {
$ X9 U; N, @* S: R/ S5 U8 v, a! J if(debug)+ ~9 k( O" M }
{
- D5 G6 o' G" l' D alert("remove invisiable!");
& ~ {9 [* ]$ H4 R* f. l }
! |4 H! g0 Y4 i" M3 V8 ? node.parentNode.removeChild(node);
* ]5 @/ d9 S: A. H+ ?& N* q
% Z7 \* k F; J% V4 m4 b( ?: a5 o5 ] }
& ~5 K r5 g5 R else , Y0 E7 R- i5 A: K
{/ x# X& c5 e) O! n( j
if(node.parentNode) . C8 S8 n$ u- s' Z; d, F8 p6 s' p
{
6 Z- d+ M( ?- n! D. q/ g9 T var orgNode=node;( u# T |, g) {4 l8 t) N
var orgColor=this.getobjstyle(orgNode,"color")
+ x. F5 K( m. u8 A; J& q) c var orgRGB=getRGB(orgColor);
$ u6 ?7 T; C/ D4 K$ w4 r
! C9 D) l @) d8 m" H/ k var parentNode=node.parentNode' {- v5 J6 Z$ p, s) x" a
var parentBgColor=this.getobjstyle(parentNode,"background-color");; I* K4 [7 c5 ~. z' D9 d" J
; [! j% _# Y, \0 w1 b4 j
var isLast=false;
- H; M" k* A; v' s2 i# k! H 0 j8 a- r" C9 E* ?7 l+ @
while(parentBgColor == "transparent")
' G$ z7 @6 \5 l+ ?* I {% V3 f5 Q9 r, |* u4 Y$ J
1 P y0 j5 i! J2 I: `- _9 O9 U
: K9 a- M% Y4 Z1 f" x/ o
if(parentNode.parentNode == null)
5 u& S1 a: n- h1 z2 E. a2 R5 I {
# Y; M/ z7 r, V8 P isLast=true;; Q' y; g, h( @: f6 J' f
break;6 e5 f. ?! p7 i& H. P0 h$ v& l
}
% D* U1 Y( m/ N4 {5 n parentNode=parentNode.parentNode;
9 u! @3 n3 W( l, j' _ parentBgColor=this.getobjstyle(parentNode,"background-color");/ p7 d# @1 H0 O% t' J+ }* h- ?
( t" \) `2 F) ?) D2 I+ J if(parentBgColor != "transparent")
" q" y! r0 N) d1 T' ~6 P2 Z5 | {
& M' x( |, A. r$ H$ {# Q6 Z) h' g break;
6 p. O- D8 t0 @3 ~$ o, i }
0 |: I5 b; n2 M) Y2 _5 \+ I( c }
7 J0 p, }7 b& H( O: e& v if(isLast) 7 R* y X6 Q0 U ]. X& N
{2 I: q$ g. d3 D8 t
if(debug)% n- C+ {4 Q3 z/ O& i9 V9 Z
{% }- O0 i5 y2 n+ P( R
alert("last!!");
/ k# u3 a& X K8 }7 @ }
3 X$ \4 M% G1 o$ D: M( m if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))( I' K3 ~* J, P/ Z+ y
{
+ R0 L( R0 X' L orgNode.parentNode.removeChild(orgNode);
0 l& d5 s/ |; K8 `1 [5 O }
, A- u- C* C. ]3 P% _ }! s) Z5 C* f+ z
else; |% M$ U$ A6 b" G1 q) Q1 e
{
2 y' g1 ?* F5 \ if(debug)5 A# D: ]' x; `( \/ I0 X/ h
{/ {$ a6 N) a& T! Z
alert("compare color and parent bgcolor!"); n! R7 _$ c1 ]4 H: o
}
) E: `+ _" l4 E1 ]3 {% i) t& X' W parentBgRGB=getRGB(parentBgColor);
- |# t2 r& N+ s- u9 i+ V if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 o; i; C$ J' V# O0 J+ h1 _) u) T7 A1 W" _
{
8 ~" V/ v, N5 J" C! I" }! z( d- E orgNode.parentNode.removeChild(orgNode);
1 G* D0 ^% L9 N# G/ t2 G }
% J1 v5 {0 |2 d/ j$ d }
! x$ h+ z" P h: f/ g+ f }: X" j2 |* c9 \, `7 h: Z# d
}3 }4 ]- t: P, N( ?
}
/ m7 y0 I# m$ c4 a! {, u! Y }6 z9 n2 F: X8 C8 Q) p! l0 M7 ^: @
: t+ q& K* v& y" q
4 K# R5 `3 q9 ?7 G0 [: y
var itemFrames = page.getElementsByTagName("frame");1 ~/ u1 q- ~8 u, D& l
var itemiFrames = page.getElementsByTagName("iframe");
3 M& U: z8 M7 A 2 l, P5 f. v; J& j7 e2 j) c% }
var frame, iframe;! P2 ^/ R. f5 n' G7 x" D
if (itemFrames.length > 0)
: M% m& E' q: x' v3 D' |; C: E {7 e8 w; i8 O1 J* u. n5 i1 p
for (var i = 0 ; i< itemFrames.length ; i++) 6 J9 _! [! ]; l. L
{
5 o7 U' G# G4 m$ m5 n# X( b frame = itemFrames.contentDocument;
9 o: n1 e/ Z; X/ M2 J this.RemoveHide(frame,objname); . X1 [3 ^2 @; u! |
}/ h4 f) l8 Y$ ]: j% z
}; s: C* q k2 z" i
if (itemiFrames.length > 0)
1 L5 [+ K( s/ q1 } {
9 S! G$ Y; H6 l$ q: ^5 t& f for (var i = 0 ; i < itemiFrames.length ; i++)
* J! K. ]& i1 e- ]- U E {# C8 X- v7 R* P2 I$ B
iframe = itemiFrames.contentDocument;
2 X1 }" L' P* V% @3 a! H this.RemoveHide(iframe,objname); ) P; ?( Y; B% ]9 [5 f6 F0 i
}& E6 C6 u ^& {- [/ C
}
7 ?7 O3 b4 G4 z+ | }
Y7 s9 D& k! [& \& r catch(e)1 R( E+ @' @# x* C4 V0 B! J
{# ~- c( U: s. Q2 k8 B
if(debug)
) F3 Q; z4 }, x! W1 E" } {
& D+ x B+ E& A) z alert(e.message);* I5 h% ]5 w# N4 V% c4 O
}
" h2 m6 ]/ K5 c8 P' M }7 L- o' g: e2 u' z( |* h+ a- R
}: E% x( e1 ~ m
! e) h0 e7 {7 A6 ^6 n; ` h- `
}- \0 Q5 Y5 J- O, }( V& j
$ K; ^% \3 _: U# ]" Y6 D+ g& H
function getRGB(colorString)
6 d9 n9 o' J& E( }' A& F9 i+ f4 m{
& D/ e' f- \, W; z7 P- q! E/ V var RGB = new Array;
' L3 ?1 a/ @/ U var tempSting=colorString.substring(4,colorString.length-1);
: B) X. v* \* V/ V% P5 u var tempArray=tempSting.split(",");$ P/ s$ i2 d& y- n( |9 N
/ b' t* p$ I5 \# O( v) C
RGB[0]=parseInt(tempArray[0]);
! {+ ?- p. @# z/ f4 S# z RGB[1]=parseInt(tempArray[1]);
, t# B1 s- @. ~: y0 b# k RGB[2]=parseInt(tempArray[2]);
( J( H- N- d4 D" P2 D& z( I ( A4 a: r5 I9 u. U% z q
return RGB;
2 {3 ]0 I" v9 [5 R9 B}
$ ~2 h1 g; [- x2 N0 }/ f% V cfunction keys(evt) 0 X/ w' j/ T( _1 v! @
{
+ K, b+ `, Y% J if(evt.ctrlKey && evt.keyCode=="81") 6 r3 m0 Q! V) A6 _: p* L
{
4 f& Z& x3 _7 x/ q7 b/ x0 m4 | CleanHideObj.on(0,1);: |* V% r: K1 D0 m3 ^1 u
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - z8 q& b( \5 R+ f
/ c* U2 J7 \! Z7 h# F
} 5 g/ L) i9 B3 g, W$ b
} / _/ s) \3 y$ G9 Q8 r+ o6 W4 a0 }) A
document.addEventListener('keydown', keys, false);
+ ?/ V+ b+ V) xGM_registerMenuCommand ('Clean Hide',
2 |( I* K( t; R1 ?; hfunction(e){
7 L$ B+ b1 z# y/ \4 A8 UCleanHideObj.on(0,1)& w, S! Z( k7 ^, Q( E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 ~6 v# u& ~# B: F& V4 c});5 p5 u2 ~5 ` v9 H6 _6 m
|
评分
-
查看全部评分
|