|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 w1 L& |, }0 o. Y/ J9 l) x
' s0 Y; Z" t& n火狐插件,用猴子' i6 H& b4 \ n
7 R2 h2 w! m' E7 p" w
var debug=false; 4 `$ @/ U4 }" I" g
var CleanHideObj=new CleanHideClass();" U9 P5 W- @: k; u: X: h' M+ F6 b
$ i: T% p, k- x
function CleanHideClass() 3 k( d( p4 @9 J2 `' c
{ " a. A7 H% Z9 P$ t/ w/ T
: ~% u; J0 r6 Q) c6 i p ~ this.on=function(id,bMZ)
; c' o5 a$ X2 C3 R: \- l. b7 ]4 V {
# p# q5 ]3 d. O
/ ]7 W7 j" t# v% B7 [ if(id == 0)7 T( w8 V8 r) p- }; P9 c
{
/ r. J8 Y* X# {& ? var page=/* document.getElementById("content").contentDocument */document;
" a: o4 g% I a0 J5 \/ F1 } this.RemoveHide(page,"span");
* V- z) _4 e0 x4 _$ i this.RemoveHide(page,"font");
# l# d& J4 _) d8 k; g5 ~% Q! m this.RemoveHide(page,"div");
- j7 @3 m q; W this.RemoveHide(page,"p");/ T" {$ s! Z S
- c( z0 {; o1 f" m: s } y+ G M- r. v5 N
5 S3 Q. T% z: b) M8 `6 j, |" V! Q
}
& a& n* u Z5 h0 W" V& { this.getobjstyle=function(node,prop)' @; L0 x3 u# I# \8 g6 Z. i$ ~: @
{. n8 J. q3 e' Y7 G
try
. L7 c! a3 Y7 d' X {
$ p1 W _1 z) o- W6 E return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, Z$ N3 R | n. G }. S& S% R, j" [
catch(e)
3 f# ?' F6 f2 B' `) ?3 I% s {/ q/ t0 T. b) ~" @6 B0 U" c
if(debug)/ m5 }$ k) d8 M; s
{& O: z* H% ^, ~" N
alert(e.message);
/ ]6 h6 h' G: _0 Q. W" J- ~ }
6 B) H0 L S( \
: t/ v8 M7 d5 C' _' Q* Z- R! } return "200";- y4 }+ a% X8 p5 i
}
* z- b( R: C/ c }
& F8 b$ p. o2 Y: Q6 b2 i' e
3 o& ~6 X) P. R' Z2 t9 ~2 e this.RemoveHide=function(page,objname)
0 U( }& J' T& ~7 ?( Y0 B2 W$ r1 w, E {1 t1 @ P. W0 W0 i3 `
try
6 I9 M7 w3 s) p9 t z( { {. G" t+ i( O1 M, n# o
var minValue=15;8 e K- J, c/ |( s$ k# V* Z
var objs=page.getElementsByTagName(objname); " k" \+ |$ d& h7 v3 W4 T/ O
" |# x; F: I/ P/ s if(objs.length == 0) 7 f, O5 \, n& e2 e
{3 Z, t( G" c5 q9 G# w3 A4 i5 z
if(debug)1 S5 L. R3 {- o9 k, G6 @/ V
{. \9 j& c* u; c, h1 r
alert("no object found!:"+objname);, [* T! ]6 S; l0 B
}; Z' i' {2 W+ \$ I4 m# f
}' M! v$ x. Z6 \ T3 O
else ^# X9 c- W7 Q: K1 E9 i. {$ _$ X
{# Z& l5 `1 F v# H, s
* n9 y5 r3 u% \% l" a q) o- v+ d for(var i=objs.length-1;i>=0;i--) 9 r+ c/ K0 ~- o, p: y* Q6 T- Q
{ Q; z( I/ {; U: G
var node=objs.item(i);
0 v) A9 s' A7 i* B9 l0 z; r1 x# y
( ?3 i- S0 X( ~. m: x & W- Z4 B: e4 d
if(this.getobjstyle(node,"display") == "none" ||
; P. r: I0 ^2 k this.getobjstyle(node,"visibility") =="hidden" ||
% _7 T E) R" ^5 ~; f parseInt(this.getobjstyle(node,"font-size")) == 0)
' m+ _- Q2 ]( M3 ?% o" c- U# k {
" U/ J1 H3 f! Q9 |2 V3 S if(debug)
( U0 o8 Y P4 c {
% L2 ]: `: }+ g0 S- B+ b alert("remove invisiable!");9 @$ M0 H; x& k C6 a. v
}7 l' h Q- O; l# x
node.parentNode.removeChild(node);
" W4 l, I2 y0 B! V3 U: A6 e# |* ~ 4 b0 M+ s% H- \2 o6 q/ q
}
$ ^( C/ n- r) }2 ]6 x7 W# U else 7 A0 a+ L* l, }9 {4 r/ M6 O% z
{
1 ^# D3 h) ~1 T# T if(node.parentNode) + H5 d9 q) X1 H6 P4 v* B [) B
{4 _- s- y- b I; v6 e& O! N
var orgNode=node;7 @1 ^4 m' L8 P8 N+ q1 K. _" ^
var orgColor=this.getobjstyle(orgNode,"color")
( ^/ p2 n' s/ q4 e1 o& H) ~ var orgRGB=getRGB(orgColor); / {# {. `# C0 A$ _; H1 a. P
/ h" p$ g% m$ q" w( `9 }& _ var parentNode=node.parentNode
8 o( t! f$ `8 r8 a+ L9 J var parentBgColor=this.getobjstyle(parentNode,"background-color");
* H8 L: S8 m8 [0 C
% F5 u- s, s& g9 R& | var isLast=false;
' y; Z! l+ I; i( m8 y( P
; [4 B8 q1 O ~! K: M while(parentBgColor == "transparent")
. F4 b2 O+ T! L, k$ @: } {
/ R( T1 Y/ }0 o$ k7 i
7 x! R! w5 y; k& A* f$ }
8 X/ w- Q: b" Y if(parentNode.parentNode == null)- u1 r1 d, Q+ r( V; D% i4 z* c
{. [; P4 I0 T/ ?4 N! R
isLast=true;
, h9 n+ F5 G$ w( i. o break;$ P' w2 x4 t+ T u- z8 `
}% \* d0 s+ t8 Q' v) v# d
parentNode=parentNode.parentNode;# b& w: {7 q5 H6 @
parentBgColor=this.getobjstyle(parentNode,"background-color"); [/ A3 `; n7 T- H& r0 U
. u q- B4 ~8 t if(parentBgColor != "transparent")
# D! j' {) {% \ {
9 t& d" L0 y% @1 s& @# @ e) } break;
" s; y8 p) X W5 a8 i* ` }
0 ^) g5 S0 a* p# V2 I% f7 w3 Q" ] }
$ d6 d* A2 K5 u) q1 H if(isLast) ) p5 X6 Y6 V# K
{
6 H4 q1 Y+ I, l& t& W& A if(debug)4 ?8 c4 h3 l3 k! |
{
& K9 V) s. F2 F$ h& {8 @& j alert("last!!");
- V4 |: ]& @$ R# R- w }
- T1 I- P c' J f5 M if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))0 S! A0 i7 u. v4 r C( `
{
/ j8 ?7 y! m& Q8 j: g+ Q orgNode.parentNode.removeChild(orgNode);
0 {, F$ q; j1 F# M9 B+ ]) p }( |) w- e- N4 G* v$ z Y* _# i
}
! C {5 z# [. ~6 N else1 q- P/ Q8 G. O: m$ m
{
8 g1 b" b' ]5 }, T. L @ if(debug)
{3 `6 K% ?( w' ~ {! P6 }1 ^9 H2 a2 ]' ?" F4 y, L
alert("compare color and parent bgcolor!");
9 i9 s: M s- T d }
; ?$ h4 ~' \) J! E parentBgRGB=getRGB(parentBgColor);
0 N2 z& ^& ^, |) r, B. d8 O if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))4 S9 U7 r, |% @6 J/ z. r1 \
{1 M4 l# F7 Z6 k6 m& a# g
orgNode.parentNode.removeChild(orgNode); % v$ ^& ?- N# o. m6 z F' v
}+ `+ d6 h3 m1 I
}
2 t" g( j: i( n$ B v( u) ^6 s& h2 p }' B, `, y- K' S: {$ g
}6 b% G- a4 |* c" ]# u8 m# W! q% y2 |
}4 Y' k9 e& W# R r
}
4 p4 E' Q i6 C; X
: M* T# ]. V: a0 n8 w: q" x
& N+ H1 s$ s& g var itemFrames = page.getElementsByTagName("frame");
3 f0 O1 J+ g4 w0 V; F% C var itemiFrames = page.getElementsByTagName("iframe");
+ U4 [( J/ A/ G; T8 o
, ?9 R& b1 c' ?0 B var frame, iframe;
0 T6 Q! c5 p$ n if (itemFrames.length > 0)0 x" x* B! I' B& t8 C) j
{( _( ^( F) j) `0 `
for (var i = 0 ; i< itemFrames.length ; i++)
% x* m0 r# R: e. S {) h i; m: v7 A
frame = itemFrames.contentDocument;1 b) p, t [* f
this.RemoveHide(frame,objname);
- `8 h; ~+ F- J }
# s8 N1 F& u# O8 a. m' d }
5 U6 X3 M3 @) Z0 r1 I ^ if (itemiFrames.length > 0)
6 B/ `0 X) G6 R" {, y' Y6 X {+ U9 E* e- F2 v# o
for (var i = 0 ; i < itemiFrames.length ; i++)
7 R' g6 p- g3 ^" o {
' ]! |4 d( f' l1 [+ \6 S! X iframe = itemiFrames.contentDocument;: T" P( I$ i: e
this.RemoveHide(iframe,objname); 6 [) F g& I3 n# n: T1 y
}
* G9 E' r0 x/ W4 m2 n }
5 {1 h, P2 j9 J" q+ @ }
2 b, n5 h8 ^* t; v0 X4 `2 t catch(e)
8 \, ?" I4 u' P, I {, r1 o8 C% D! Z. ^$ h6 X
if(debug)
2 H8 V1 {3 Y& A |$ C {
3 |7 T4 B4 w9 J+ B! e! B- G alert(e.message);
$ x) O3 i1 |6 c7 P. k* e" F1 \ X }
$ k: K% j! Y' e& n& d, x }
$ k2 ^1 V9 K& e" q }
/ B, z# D' k5 e7 ?. W! H" F " c& ?6 x. }3 ~0 j! i( @8 s4 m
} ? H" M0 M7 k* A4 v9 j
: P6 R; X7 @4 I& b/ ^function getRGB(colorString)
/ G( F2 B5 d" I. v{
4 \% N4 i9 H- R2 J var RGB = new Array;" K$ i# r7 Y# ^" v8 ]
var tempSting=colorString.substring(4,colorString.length-1);
* v' y2 l* v ` var tempArray=tempSting.split(",");2 D* G1 c0 ]6 H5 ] b
, ?) R9 V$ A, a. I6 X6 q RGB[0]=parseInt(tempArray[0]);
1 T" b9 F7 I- T6 s RGB[1]=parseInt(tempArray[1]);
/ B8 |% O7 ]3 M' Q5 }7 W! M RGB[2]=parseInt(tempArray[2]);* r3 q( U# L7 W1 E2 C: z" {, [1 h
8 g- v) Y0 O$ U0 z9 ~6 N" m6 u0 Q return RGB;
a4 L1 d4 }5 Q6 C! C}
% [+ k( F* \% j( M7 b5 v( d" ^function keys(evt)
% K2 J* @+ Q+ }" s% k7 G { 6 \1 m1 l/ w' w; |: v/ C
if(evt.ctrlKey && evt.keyCode=="81")
. u# K1 [9 H8 d8 b; s9 { {
5 \% `2 @# g2 N* v# s/ k4 i) a' v4 C9 ~ CleanHideObj.on(0,1);
) r/ h* Q5 p. o% C$ {& F1 q alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& E- W( h+ K/ u- Z: Z: E9 V& s ) `' H. N9 D6 g6 l0 D3 Q
}
7 @! | ]3 v$ W- z } / x, k+ z3 x$ _* h; F$ A
document.addEventListener('keydown', keys, false);
9 a( m, w K6 q/ b8 _8 E# q. xGM_registerMenuCommand ('Clean Hide',
5 h) b( ^2 c* Mfunction(e){
8 D3 O3 w- B# L( G7 yCleanHideObj.on(0,1)
2 d1 V6 t/ ~$ {5 e2 u' Malert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");! @9 c, |8 O5 m
});% [7 c7 X0 `1 f9 C5 O- L
|
评分
-
查看全部评分
|