|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
" C; y i" h( o9 @. i/ V! l. G- Z
4 ]1 `% \7 e& D$ ]3 @: B! U火狐插件,用猴子; G$ @3 d! O, ~ j" n1 p9 v
4 @- F5 L. g4 S" z+ Y9 D
var debug=false;
& l. n7 |% k# K* L0 ?& w% ovar CleanHideObj=new CleanHideClass();+ M0 i% K# V( }2 y
5 o' ~% P' b+ X5 Z. M
function CleanHideClass() ) J& I: T. i/ U) v8 X% P& X
{ 1 t: K: _1 S1 A A
5 `) p4 b1 l! K this.on=function(id,bMZ)+ Q- |+ y9 m2 \0 Y. m
{
/ [! o7 q- B* z8 V " C6 {. t/ W2 d& C- L2 |
if(id == 0)- ?3 H# m0 m7 s! n
{
2 O4 z' P+ V0 N7 u r% T! G var page=/* document.getElementById("content").contentDocument */document;
5 T* X7 n7 G7 A3 e" I; P" l& d this.RemoveHide(page,"span");' i( x ~ M7 R
this.RemoveHide(page,"font");# d% k4 k. |/ T; P* r- w, b
this.RemoveHide(page,"div");0 G; X: w# q5 D2 |) k- p
this.RemoveHide(page,"p");
7 E5 N$ o, |+ X( |" X ( V- Q/ y- [, s* s
}
" }- U/ A% X: g ' R, I. u6 E5 H/ ~' `& s
}
! C" p& g0 t" b$ R' X! ^/ u this.getobjstyle=function(node,prop)
# e. w9 I9 I: z( D( e {4 x2 H" P5 b- d
try. Q2 X. R( i, l7 p& O
{
) T5 C/ j! w1 `$ D0 x return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);6 _2 ^% i/ M: E- K# N
}
; I" r; u$ x/ D( c! O7 \# b catch(e)
+ a8 {$ Y) ~8 K) T% d$ |- c! U {
% r: f; V5 A, a A if(debug)" j# W( F! Q3 A
{& D* l1 `0 ~% J. S9 x
alert(e.message);
( I7 W2 k9 R; G6 D& ]% k' }- Y) a4 x }
G; \1 A1 m1 l5 B
1 M9 N) Q0 {: ~; l& V( ]) e return "200";" G# G' Y- P) Y) }- l! q9 H
} m7 s" G* f, w9 e1 E$ c. q
}
5 [0 S% R! Y& b' y$ W) u1 ~5 H2 A+ o ; A9 u$ m5 H& u( _
this.RemoveHide=function(page,objname)+ I# `6 Q8 M9 T: O; L1 t
{
! Z" T; C% M: k" {! q try
1 p1 @; V0 U6 l+ S8 \: [ {( o M1 C0 |5 _/ q0 `& r4 {
var minValue=15;# V- N1 z* C p- m" t5 f
var objs=page.getElementsByTagName(objname);
( {: ~/ a0 D+ e% X
9 Y1 y. F- W( Z8 o& T if(objs.length == 0)
+ T; ~* w1 U6 Q3 ]7 t# G6 p {) b. }, O( N* q# a, P1 j* ^
if(debug), l) L" e4 n( q/ h2 r+ |
{
+ Z6 L$ f$ y+ J ^7 l8 n alert("no object found!:"+objname);
# U2 e3 R) h+ v8 T }3 ?. D V5 j, w7 t
}
+ E; m) A9 O- m& y! A, m else
8 o! G9 ^& w7 E; v4 M( B* k" | {
( o( m( X- }) E; N ' E3 K0 j, B6 N2 U# i
for(var i=objs.length-1;i>=0;i--) 0 v' y- g/ p$ k$ Z# M* j' Q
{
$ ^/ f+ O, z3 C. u( X9 { var node=objs.item(i);
7 q7 m6 `$ l* R" G( N
* w+ i, A, Y- h+ Q3 Y2 j/ N+ [5 c
7 _% i: I. m) w& \ if(this.getobjstyle(node,"display") == "none" || J& `$ @8 o; |( G6 Y
this.getobjstyle(node,"visibility") =="hidden" ||8 `# D1 ~ {; q, o0 v
parseInt(this.getobjstyle(node,"font-size")) == 0)
5 l- X' \1 Y9 U/ [" s {
8 q2 h' U9 ^& [: k5 P/ v if(debug)
4 z, [ k. p% P$ [6 X7 r3 S; g( U* h {
. T% p1 {3 V7 }( @ o alert("remove invisiable!");
x0 N- f I; l2 U }
+ b* b/ {' i& u5 I. ^7 U7 [ node.parentNode.removeChild(node);
( l' U8 F. ?* l
( W8 L/ b4 c. M F! E7 k: s T- _ }
- x( T; v: b& P; f2 c8 c, j( z else
: d6 u0 M9 t8 Y" ~4 ?* O7 L! S# @ {
m4 s. L9 y/ |8 K if(node.parentNode) ; o+ O* i* H6 |" j( _) T
{
8 Z- S: b# v9 p: b var orgNode=node;% h5 M! t) h& N6 N; x7 p
var orgColor=this.getobjstyle(orgNode,"color")
0 g! e! H+ V4 I var orgRGB=getRGB(orgColor);
3 ^5 N( ]. A, r2 H( u& _ " m! Y6 v8 m2 {: n: ]5 F% t
var parentNode=node.parentNode
- C4 ?4 {) \' s9 o var parentBgColor=this.getobjstyle(parentNode,"background-color");) M8 D; k6 T% ^" u* @* s
+ t* r3 H7 k' ^" i/ q, x- X var isLast=false;
! h# B; H6 b {1 m' a+ u& I $ s. G. A; b! N- p
while(parentBgColor == "transparent") ! u, s" t) i/ k* U, |
{ [: W. S( B2 U7 o( \6 N
2 l$ q; V/ @- S; T8 ^7 [0 U
% \6 u; Z" E, l9 K j% ]
if(parentNode.parentNode == null)* `* _: S8 A; J' f& h7 m
{
7 j8 ?2 `2 R& l1 H U isLast=true;
$ ?. X0 @6 L5 y! E3 Z( b$ b break;/ Z+ z9 ^( G6 x: n+ G
}
$ ~0 p7 }; ]- K- d: k1 K* [; b parentNode=parentNode.parentNode;
; y) Q2 S: i( @5 I! S; U parentBgColor=this.getobjstyle(parentNode,"background-color");
5 U! p% S6 _5 e
0 I: r- s2 l% Q; r+ H( r if(parentBgColor != "transparent") ' v. M- t- H4 g6 L/ s
{6 y) F) ]# n: B+ S1 [; Z; c% L
break;
) z! E4 t* [9 D5 l- i% j) o }
! Z7 w" @) U" A5 D }, |7 x1 g7 f0 U K! l
if(isLast) 0 I6 F" f: m6 [! M0 y1 r! ~/ X4 |0 H8 }
{3 F( i2 W9 U( s
if(debug)
# o8 _" x: B- o! R } [9 f: V9 P' N {; A5 d9 T* I5 G
alert("last!!");
1 B: R! o$ b) i0 Y# a! v }8 o$ A' F7 A0 ?7 ?; v
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))6 c' x8 i1 `, e/ f e3 X- `" r
{& w& G8 E6 y9 N' t1 s! v/ ~
orgNode.parentNode.removeChild(orgNode); " G% f! _7 @% A7 ~6 O) I1 ]1 B) {
}
0 f' V) H% P0 V1 F }
: j, d' ~# e! {1 _, ] else! ?( V( p1 x+ @# {
{( H0 W3 N. O+ x6 y7 w5 T
if(debug)4 B* |4 [" z D; m! T
{
# n* [9 \8 _ W5 v! G4 o' k alert("compare color and parent bgcolor!");
4 n" e4 e3 H) x S: o }$ ^* C9 L- V# m8 o
parentBgRGB=getRGB(parentBgColor);
+ V0 C4 D8 d4 I! F. e# W8 } if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
4 u0 Z A4 C, m" q0 u {3 h) U4 z$ d7 u8 @8 Q' [4 e" J
orgNode.parentNode.removeChild(orgNode);
; O7 x4 [$ }# t' e }" T9 ]4 b7 m7 s% e9 L
}
5 f8 b6 A- n5 F; S }
) c" W3 N4 ?) L, J% h } d" V/ ?& X) l
}
9 X c1 t+ V* O: k3 p' M }
9 `8 I- D& Y# K* b, m; j2 K
; y4 ]9 n8 P& t
+ D" m0 f7 C. G! G& S var itemFrames = page.getElementsByTagName("frame");: G8 U- {( Y! H% P
var itemiFrames = page.getElementsByTagName("iframe");8 m: z7 ?7 ^1 [, @/ ?
' m* S* K0 X1 I# c! K
var frame, iframe;/ X( J% \% f: a- y- h$ J3 @1 E2 d, h
if (itemFrames.length > 0)
% t* P" P' E+ d0 I {/ `2 ?2 l. l% [# E% b3 I5 X% r' R
for (var i = 0 ; i< itemFrames.length ; i++)
2 a; j" ]7 S- `. f7 H) s {
* w5 L# ^9 V# B& ] frame = itemFrames.contentDocument;
5 r: o8 m4 S$ o& Z, c) B" G/ ?! D& F this.RemoveHide(frame,objname); 8 R: Z' K L* e. F+ P9 w% k
}# c G0 E7 J( Z4 a9 v9 V5 e
}6 C* c# T' I5 x6 q
if (itemiFrames.length > 0)& m8 Y2 {+ ^3 B/ [# n
{2 F' b I) ?" e9 h7 |# {
for (var i = 0 ; i < itemiFrames.length ; i++)
4 G, T9 `# u$ V {
6 X6 m6 D- R$ v* f2 s9 L0 R3 ` iframe = itemiFrames.contentDocument; C- ?5 ^' ]; K4 q1 i
this.RemoveHide(iframe,objname);
3 _( a Y: _: z$ m* S }7 g, n' M- E1 N
}7 D( f$ E/ i3 }8 B8 M/ S
}
& f1 {+ t3 } s, t u5 v5 B: o1 s catch(e)
, f+ q# Y# j: Q8 W- ~, H' N {
& s5 F' ^4 D# z, `% I- L& P if(debug)1 E% Q/ d5 y/ W7 Z5 D- _5 k& ^& p/ F
{5 Q! n' r5 _4 a7 d+ X6 `, [
alert(e.message);
, r0 |7 q9 y& W2 M$ H ?& C }
, \3 V4 v# B1 L% ^ }
! Z4 { g; g2 ]# z. p }
, ~" B3 ]1 V5 V I! L: o
" O9 O3 y' U/ {& @8 s# h}
R0 L' X* V6 y/ F+ K3 x" ]+ ^7 X; g8 b; E, P8 w
function getRGB(colorString)8 `/ [! c$ S2 @9 p
{
7 z8 M+ B. b0 H$ N6 F var RGB = new Array;
) I( X m3 u, }3 o+ S' g& M var tempSting=colorString.substring(4,colorString.length-1);9 @& s6 E2 K" F: n
var tempArray=tempSting.split(",");1 U8 C3 d8 Y+ r
5 |& ]* I: g( M+ C. B( M$ \ RGB[0]=parseInt(tempArray[0]);9 M; E) i; T% l/ I
RGB[1]=parseInt(tempArray[1]);
3 W; N1 l8 D% z) G, ` RGB[2]=parseInt(tempArray[2]);( }! ^: V! B6 H# n) C* t8 d$ U
) d2 A2 F( o- l" A: `$ U6 V
return RGB;% B- z7 z# b- G
}; N! D, A3 R H; Z9 L
function keys(evt)
8 l3 {- R! K4 f" b% [ {
8 Q* c; g* E) h- _3 Z5 p1 v% D if(evt.ctrlKey && evt.keyCode=="81")
& O- C1 W F0 t/ M { 7 d' X' ?+ J8 a3 `
CleanHideObj.on(0,1);/ j$ ~; J7 x# b8 d$ t- Z5 X7 `
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 o( d! e& O$ L7 `
+ X6 X* f$ X5 X' x5 c0 _8 D. m" } } % v# f! H9 o1 u) w
}
: k0 n& v& s: z1 X4 s2 }; Edocument.addEventListener('keydown', keys, false);
7 O4 j7 \2 C% Z+ LGM_registerMenuCommand ('Clean Hide',) X1 }! N$ k) _2 x, t' }7 e5 I$ v/ }
function(e){
; Y: h/ W% X5 q! L9 T: w" {CleanHideObj.on(0,1)
) B7 E& }# I8 ]% }alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");( `9 g. Y! U5 \% q9 ~
});
& I3 C4 k' {+ ]3 P+ f |
评分
-
查看全部评分
|