|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 0 R& O1 J; U) t3 y; Q6 i8 }9 \; D
/ f5 S8 I! X+ R7 a
火狐插件,用猴子
% w: k) z# r, O, W$ y' J/ m- W: X; ]. R) N" n* ]
var debug=false; ( I* K/ D' W, z
var CleanHideObj=new CleanHideClass();4 f: B# p. n& [/ q5 I& t j: K n
$ `# \# k1 x& z2 [% k+ Wfunction CleanHideClass() & p+ Q0 r" e% X% B) B( w
{ 7 c9 i, M& e: W. M1 V( a3 W% y8 S
% x @9 y( Y& H- C% p this.on=function(id,bMZ)
3 i: k, S# |* d; Z# T( J7 l! z {
6 f4 B5 I7 k5 z2 P7 ` 4 C& N. v. ?, h
if(id == 0)
& l# d/ e0 C- D7 S* v2 j+ `% B. l { e n- |0 r0 o7 q1 u" J2 Y8 r j2 e
var page=/* document.getElementById("content").contentDocument */document; 8 H' U9 o: }2 W) |" T- o/ p
this.RemoveHide(page,"span");
& U& }1 h3 g# g+ ^' D this.RemoveHide(page,"font");( D" y* w0 |8 H; |) ?7 i6 q
this.RemoveHide(page,"div");
$ h. p! ~7 }# ^) r7 s this.RemoveHide(page,"p");! o# O# {- g9 u F
y! |0 C' \* h' t$ I
}' J4 R6 W; O% M' ~; ~7 c* F$ [
. c8 k A$ Q, j
}7 i9 ^5 H$ C' ]! C8 v2 U
this.getobjstyle=function(node,prop)
+ A7 B1 t) |9 W3 A; k {
1 m7 s* h! O! k. y try T2 H# z! n1 c+ T- P. n7 M
{3 R& s8 [% [3 ]4 H; f0 t9 Z/ z
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);& ]5 i1 b; v# G4 K. a ~- t
}( C. _9 a# w I* ~/ M
catch(e)
7 L/ ?6 l! r; ?: @7 @7 O {$ [9 H+ e. H# P0 v6 o0 l! a
if(debug)
# U; w) P* i2 w) q4 D {+ m9 U2 I: e4 `6 J5 S- R
alert(e.message);
6 o) G4 B, Y- A( Y! H) H0 E }+ y; m9 {# G9 B
$ G0 j: e7 y& N- l" m! z; p
return "200";
4 c# ?# ?* F4 Z+ x) ] }
5 l1 ~/ H- o3 c% T }
o- R& ~- G' U2 {* c8 V8 e9 A
6 U: [4 T- }8 J) q c/ G* ^ this.RemoveHide=function(page,objname)
; v" R4 h+ l' E' K- G( h# C" P, i5 J {
+ N- d" Z% |# d* ^ try
4 p/ O; b7 L8 x' o% l: k* o8 G {
! r0 ], {. l$ p9 E. S { var minValue=15;
; D' M) i% I1 `" a var objs=page.getElementsByTagName(objname);
5 `) q. p6 L# f0 | i& a
) a- v( [& G, B if(objs.length == 0)
" k: X8 C& j) y$ d' W {
N2 Y, I2 H. s& O2 y# n if(debug) u U9 h8 S$ u) f4 R( B9 S/ T
{7 ]& o5 r0 M: [6 ]; g9 Q
alert("no object found!:"+objname);& Y) H: U# F0 B5 I( A8 O
}
: v8 X8 T' w$ o8 ]7 k7 A! @, Q }
/ [- t( U/ B9 P- _7 l0 W+ s, H else: Q/ i, H. h1 H
{$ E0 U6 y( t2 G6 l/ P" G) J( h: y0 q
; E/ n( k2 q& w5 _/ F: L, k for(var i=objs.length-1;i>=0;i--) + q2 V2 ^& F2 w3 _) ]
{
8 |# N Y1 D6 ^' n' v! b; m var node=objs.item(i); : {" s5 C6 {2 l* m( _
2 w$ T2 J0 L9 B' x5 c7 }
; ^2 ~2 z0 k) J! P if(this.getobjstyle(node,"display") == "none" ||
/ p% F. u" I+ M1 k this.getobjstyle(node,"visibility") =="hidden" ||' ?5 B, t( j& X# g" o
parseInt(this.getobjstyle(node,"font-size")) == 0)
( X ~7 z8 \# K9 F p {) q0 u+ U* R! |/ @' N6 d
if(debug). h: O2 ]: @+ l" M3 y9 X) y, P
{
2 q7 H/ o2 M0 O6 h$ w2 G( ^: q6 `, n alert("remove invisiable!");0 S4 e+ u5 e9 A. N* L
}7 M5 X, f. E9 D! t
node.parentNode.removeChild(node);0 N) W$ t; [7 N ]5 u
1 }* }0 K* N! o# {; @" h# @% o
}
& V& `! Y$ N1 [% N- z) p else % G1 K! L N6 \; ~. ?* [
{( g* h8 O' B" {1 E4 A
if(node.parentNode) 9 r& Y* b1 m k2 @/ G4 @( T
{$ E c% t- d" H9 |) d
var orgNode=node;$ W5 w) K( [6 Z* R
var orgColor=this.getobjstyle(orgNode,"color")
% ~4 P9 {) i& I3 G% w5 y& b2 E8 Z var orgRGB=getRGB(orgColor); 1 B r" B% ]4 w& l1 v: b! V4 _
( [0 c, d$ Y) h' _, t var parentNode=node.parentNode
7 ^# T; M! i3 Y* I$ C T- x d( D$ Y var parentBgColor=this.getobjstyle(parentNode,"background-color");, }. w8 {, V( q; _5 U1 H9 j% K7 I. M
$ i( F- _( J- K. X- V+ e! e) |
var isLast=false;
& Z8 L& ^! w# ~& U) L$ u2 _4 w . }) O0 S4 I8 [2 E! V$ p
while(parentBgColor == "transparent")
& x: F# @; G7 j# D) \ {0 J5 x8 g4 y" m$ P2 l
6 Y4 e5 g* u3 {$ x7 W# B
) {6 u. X$ L& z# M if(parentNode.parentNode == null)
% H2 K" V- W$ `# V: A5 G {
# e; g' N5 }, T/ w5 T: @, p6 o isLast=true;
7 G/ z4 @& b+ A4 r _ break;
. ?% N# _& T& L/ s$ Q$ i }
, C) `2 h; W; o2 |! ? parentNode=parentNode.parentNode;2 s2 b+ {5 K% `- t* [+ A) q: L
parentBgColor=this.getobjstyle(parentNode,"background-color");9 ?1 @3 B- H! h$ z
" t: z8 ?) D- s: n
if(parentBgColor != "transparent") : w1 @# H6 v# _) `8 d" u* u
{
, L, l# a7 Q( N5 D$ [6 ?' } break;
; l# G% d8 ^6 [$ A9 p- r }
5 |% k# u: }, H* j' F, @% D }) W+ W- X- A8 k( j
if(isLast)
/ t% P9 d% O( |% A& G$ m& J9 O4 t {1 @" N2 p5 ?1 L9 I. j$ ^5 J
if(debug)) q, j4 {+ M$ F& K
{
" s F1 ?: j- @" d" K* e alert("last!!");
$ r0 s3 z& t( Z& F% W, H }
3 J( K& H& t4 E( ? if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
* K& t/ D- v2 T, ]: u# ?9 Q' X { {
9 _' }2 t1 P; K! Y0 b9 L8 m3 N orgNode.parentNode.removeChild(orgNode);
, ]' ^. g, q$ S$ |/ Y# l }
% ]# I$ U L! f }% {" Y7 o6 G: g, T0 N0 d# B
else
# i* B8 r! u5 Z* ]6 c1 ` {7 c8 y: C: A7 K: z; x+ U; P5 l5 b" v
if(debug)6 v8 p0 @( _/ t* V+ l
{
^; j4 q" T8 J) m alert("compare color and parent bgcolor!"); ?4 _* F6 ?7 t/ k! ~+ a. o
}
$ t# B/ O5 F- z; {4 p' B7 \ parentBgRGB=getRGB(parentBgColor);
, E% }0 E6 S' O if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ K' q# d8 b) l3 X
{5 c x+ M; \8 ]6 S* ]( `
orgNode.parentNode.removeChild(orgNode); 6 l: u3 o9 D9 i9 }
}% N1 }* V7 R9 s* R
}
# Y4 B* W& b$ X; r: E6 C M* F1 A0 c }
% ~/ E" s( z' X# T }. u: U/ s7 h: s2 O
}
' y( R. Q; ~8 e }
# [) z9 o. ^8 U8 B ; |) M _- O1 m3 c
% H1 N+ \! q! _
var itemFrames = page.getElementsByTagName("frame");2 ?* w2 i" a5 ?+ o) |
var itemiFrames = page.getElementsByTagName("iframe");
" z1 o, m3 r8 R9 Z1 F. U' R 0 Q4 D0 r; [: X& B
var frame, iframe;+ H. w" T7 A# {* ]) h. J, C4 S
if (itemFrames.length > 0)
' ]1 d$ a; ?! Z/ W! k {
; b) b6 c( J8 u3 P for (var i = 0 ; i< itemFrames.length ; i++) 3 ^" o4 M% [/ o! y2 [* h$ r2 X
{
3 A9 g- I- E$ [0 h frame = itemFrames.contentDocument;- j* h2 B1 P* }
this.RemoveHide(frame,objname);
% X8 O, C1 X7 s6 k- J }
! R/ }# ]1 M: i# Q; M- Q5 A% m* Y$ w }
* }. \: P$ f# c* m0 X- F( g if (itemiFrames.length > 0)
" w p P1 \/ l6 b {3 R& `3 B7 F( v( w3 O7 e* a
for (var i = 0 ; i < itemiFrames.length ; i++) l; \! t2 m- q ?
{
8 }# }6 z& _! t6 {/ Z% d/ u' X iframe = itemiFrames.contentDocument;3 U; I& o4 W/ m9 f9 j5 X$ a/ @" @4 Q
this.RemoveHide(iframe,objname); 9 p: d: s4 u; O/ U" ^# p, Q& Z4 r
}
! X: @1 Q3 D8 e1 z$ R }
) I U( c& H9 |2 g4 f& r' `# ? }
; X r% v' F. Q$ }, t! T6 g catch(e)
0 n; k3 R1 t* l: p2 |( i {
6 t" F' @* @% d3 m+ a if(debug)# G- q- U! d9 L
{% X+ W! y+ H. {: N4 C, b: S( E4 v$ J
alert(e.message);
3 c; I3 H! P6 P q; l }
8 n% R# X! o' G8 }* n4 e }
: k$ [4 v8 }/ P1 {/ g( M* O4 `7 X }, E+ |* U& x' y8 L# n& e& k
+ X. w2 D' s, T8 g8 T; e) E2 N}
; U# D* C6 m K; l: n- E
( k: x5 V1 A; N2 m! `- `2 V* W m: Pfunction getRGB(colorString)
5 E% ]: C* W( N& \% {" J{1 {- J. b% w/ J, }' C5 t2 x
var RGB = new Array;
7 a+ |% B! {) F7 T- Y( F. H& p0 ~% b var tempSting=colorString.substring(4,colorString.length-1);( ]: y- E5 G' _
var tempArray=tempSting.split(",");$ R- _( W5 D- b- y$ G
9 }) ~5 k+ ?3 @9 ~
RGB[0]=parseInt(tempArray[0]);) H) ^! x. _ C; `" l" ]
RGB[1]=parseInt(tempArray[1]);
$ l- P, }; Y, E) y4 }+ g& K- n RGB[2]=parseInt(tempArray[2]);0 w+ X a! U1 N& G
- ~9 I1 ]1 q/ a8 n return RGB;" r3 B+ K% [1 @3 C# r- H% ]+ g
}
2 X# R2 c5 U$ [# G0 Z2 i3 y4 o# wfunction keys(evt) 2 r7 e9 I2 q! c- L* Q; z) S
{ - g. L8 P t; p2 O Y `
if(evt.ctrlKey && evt.keyCode=="81")
+ @) H) i3 ?* Z { 7 r* h3 c3 |0 {3 _
CleanHideObj.on(0,1);
+ e7 g3 w. M4 x/ ~ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
* K# W( ?: C G9 a& {, L0 X 8 g! ?# H$ f3 x/ h+ [
} - s. B4 ?1 M. `; ^& ~: F
}
' o6 U9 i; t; \document.addEventListener('keydown', keys, false);
* G! h% M0 |0 C5 |9 N3 \GM_registerMenuCommand ('Clean Hide',; U+ {9 L' d$ i2 S. L' Z( y! g2 s
function(e){
$ |( E1 O2 |3 B6 u9 R9 JCleanHideObj.on(0,1)" E4 E3 ?# o* }1 g7 M' V+ d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");4 v( T l( T- k* [7 _
});8 j2 c4 i% }4 h4 }, ^
|
评分
-
查看全部评分
|