|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* x P8 b' q% |5 J5 F
4 s. y) I) ?0 H火狐插件,用猴子7 G5 a! \0 r; j7 f0 x
0 L \0 D6 g$ S& E1 yvar debug=false; ) f" t% n* ^2 K" L' D* b
var CleanHideObj=new CleanHideClass();
. K+ G6 G9 W& h: A- c( L2 ]/ Y$ V$ m. p2 M2 Z) E+ `' j& E
function CleanHideClass() : w/ J8 H A; v' E# V
{ . w' O/ \/ c" M/ c" y/ N: N/ s9 N
: d; g9 w" k+ Z6 K. F/ q
this.on=function(id,bMZ)
. ]. F, p4 q2 I1 }" q# S u; u {
3 v4 n0 y: H/ t( a3 `
% A+ K1 k+ g0 Y if(id == 0)4 m: x. ?) T5 n1 ^# O5 R+ [
{( V* m! \; T1 {9 H
var page=/* document.getElementById("content").contentDocument */document; % h( o: G+ i' D, J5 c$ b( \' [8 F
this.RemoveHide(page,"span");
+ l7 v9 t2 n5 |8 O& h' ^1 V+ Y9 X this.RemoveHide(page,"font");
. z6 [: W% \1 `1 Y this.RemoveHide(page,"div");, F0 M p$ Z* u0 @& S/ s
this.RemoveHide(page,"p");1 k5 {* P8 N, K7 i
) y! n! x" `% @/ M1 } }
+ R* N( h, o& h' G8 m# q: d / k5 N2 V! E3 ~/ _* o9 C8 G$ F
}" `2 O# g8 E/ o& l S
this.getobjstyle=function(node,prop)- U7 g% a5 i6 Z: L9 e J! i3 g3 m
{
+ I+ s, I1 g& @7 [ try
' a% Z9 ]& |" ?# L {
8 P& x p7 `, l6 A+ P3 G return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' ]/ h. p' }+ z$ O8 k
}# D! a! N) u8 q+ O1 k* z1 J
catch(e)
; _3 l0 v( r3 q# U5 u: C5 \! b {
% @; w' F5 K2 G) k% E9 L1 \ y if(debug)& O8 Y7 }+ m" ^# o/ g
{
$ M! b# s7 k1 w2 U alert(e.message);
, w( M, k# E/ C7 X }
4 n) W0 C* ^5 s: j4 A3 W( u! J8 Q+ v
: e9 y, b" D. U9 f' E return "200";7 q7 v- \: M: T J$ D
}
! W' T7 O4 e( J' X }
+ f" k0 `* Z; I- ]0 }/ o- g0 i. K
" p s* R1 O% V! E& V P this.RemoveHide=function(page,objname); ?, n! E- a) J# e7 s, M
{
: m4 C, g+ b: w% i- W X try
0 ^2 N$ v: f1 T {
; S+ Q, H5 D3 e' } var minValue=15;8 Y/ _: _9 x/ F5 G6 F
var objs=page.getElementsByTagName(objname);
5 q3 W. N2 B$ X- n. X. F; {* X: X& U) L. Z! z
if(objs.length == 0)
$ d. V1 r( f6 _$ p3 t {6 G- _1 P. Y }, ~) L
if(debug)
: O/ _. j" K" U6 b) Y0 {# N {
5 v( Z0 r( w. P( ~6 p( U alert("no object found!:"+objname);
@) K$ H% @& J) E, |: }' M }1 {+ P9 V$ y# A, h9 a2 ?
}
; B) `8 J/ X6 v' v else
6 l& G- R$ g2 ~6 L: K9 Q; Y {8 B4 L% z0 W7 L* F2 j
9 E% j5 n# z( }* i for(var i=objs.length-1;i>=0;i--) ) b' }9 e+ A+ \& H; v9 a; H
{2 X0 E( a+ y5 q
var node=objs.item(i); 4 V* ]6 ?* N: _) ^
( A/ e$ d5 j) l$ p
# u) L7 c H; t3 Q6 @ z0 p if(this.getobjstyle(node,"display") == "none" ||
j. r8 a" U7 Y$ K; F( I this.getobjstyle(node,"visibility") =="hidden" ||) j$ `+ v8 @( G. V
parseInt(this.getobjstyle(node,"font-size")) == 0)
' s" u* \: A" |% @; d7 V( k( x) ~ {" ~! q) U- K: ?( H. f$ A) @: d
if(debug)
: l3 ?' p X2 C7 o {
( y* h# s9 V5 ~$ i9 p alert("remove invisiable!");
8 c0 s- [( n5 q/ U: p9 ^ }( t. V& A y& s" }1 O" S
node.parentNode.removeChild(node);4 W" q. R* k1 N; \" b* {
. Y& Z7 _* ]% X/ ~9 ~
}+ n3 N! l4 u8 F( Z; F
else 2 Q5 K6 e) e5 Z+ P
{( A5 u8 U) J7 n( |0 f
if(node.parentNode) 8 M( f5 B w2 f- v) P2 k i
{' y* z6 O, r. e
var orgNode=node;
0 O5 V+ C( _- W' V var orgColor=this.getobjstyle(orgNode,"color")
: O# _5 E6 N5 N7 b var orgRGB=getRGB(orgColor);
( E X5 |) t" p" M- W
$ L s1 Z$ A2 R% B var parentNode=node.parentNode
' m0 P0 q% m3 h2 ~7 q: o var parentBgColor=this.getobjstyle(parentNode,"background-color");
4 P! U! v# i. d7 A2 d! e N8 f+ T! z/ }* l, N5 J
var isLast=false;5 @ M' t$ e; M/ i
4 a& U, @4 Y' C, X" q( ?
while(parentBgColor == "transparent") g) ~5 F9 O n- i6 C! _: s
{
/ R, }" d: M7 a1 O" i+ V$ ~# U 5 w! F% K* S7 Z7 X0 ~7 _* B) a6 V
; ]) j5 M( \* ]" P( o* p if(parentNode.parentNode == null)
+ m. D* O1 S5 i7 Q! M: Z$ s/ d {7 b: e/ v4 ?4 A9 n1 j4 m3 }
isLast=true;
+ c& Y: h4 F! c break;
2 X) v' v4 U8 R9 g }
. O9 `9 V$ k1 }! X$ V5 m parentNode=parentNode.parentNode;
! t: p; R3 v: e8 Y2 H: z! L parentBgColor=this.getobjstyle(parentNode,"background-color");
2 l' e. Y: k& T
3 J9 ~7 Q7 V4 X _ if(parentBgColor != "transparent") 2 H& v2 @. C1 T2 R
{
5 E% W. N& ? ]9 Z0 X- n break;4 u2 l: D* K) i) u: t& c% w
}
. d6 ~( q8 O9 }7 M }/ _8 v( ^" b2 p9 U" d
if(isLast) 6 g. D1 J* A; n! C5 U* g' S: L5 R
{
4 G9 m( {" N0 }6 m if(debug)& n; h4 m% i& x2 B% q
{7 I. \, q9 {* R. I
alert("last!!");9 N; ]" g. E1 z# i x* Z5 j7 a
}' t, C" C! q& Z; m8 n: f
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ D. K- W+ v/ V: U4 M/ Q {
$ C& r7 T( A! f. f# \ orgNode.parentNode.removeChild(orgNode); 4 u4 J2 @0 e, H" n6 ?* a1 T$ q
}
; ]# l( m& A1 e( _" E, M# { }, F+ X3 K; h8 I; R, @
else
7 K* C H& C# y* w# y6 o {
; W p& h8 O$ S* E, O+ ? if(debug)
! |( }2 F; d& p8 z6 K: y9 g {# I4 e, E* {, z" |) W) z8 K% n. u
alert("compare color and parent bgcolor!");
# l: W' V. _5 `" w }
& N4 B s( A9 N7 i$ `. c% } parentBgRGB=getRGB(parentBgColor);
+ _* v6 O1 e& O( w6 P if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 d! ~3 k; ]6 Z2 b" B+ _+ z6 i
{' w8 }3 o% q2 H. w4 v4 Y$ N
orgNode.parentNode.removeChild(orgNode);
6 ^1 _0 K6 p X8 d1 W: h } n( H" u. Q3 R% X- e& Y, H$ k
}
& h) Y1 ^1 P2 } k i! u+ L6 f }3 }7 K! o; g0 g* i% |/ ?
}
% f0 C! | o& O# P' J }
' B. A1 `+ X. ~2 ^% g8 X }/ |9 _5 o2 E! k9 \4 |; ]
/ b+ d1 k5 b+ \$ i
7 n" a L* |/ K: ~% u% v1 `% d var itemFrames = page.getElementsByTagName("frame");- a C2 m/ O2 k) o: O
var itemiFrames = page.getElementsByTagName("iframe");
5 ]+ [) t" |0 | 9 q3 ] W x2 I6 d8 D
var frame, iframe;
$ ?$ L) a- y. s if (itemFrames.length > 0)# y) G$ I4 V c$ e2 E; @7 v% M
{
& ? H- D8 A9 k0 @& \ for (var i = 0 ; i< itemFrames.length ; i++)
" v' O: K3 P* j$ m0 g {
! A1 U* h/ h' P4 X frame = itemFrames.contentDocument;0 c3 U5 i3 Q- K+ m9 G- A6 D! c1 _
this.RemoveHide(frame,objname); % _4 E* Z+ U) A7 c
}0 M. u8 b2 L9 m7 c& c
}/ a; a0 W: T8 e
if (itemiFrames.length > 0)" X" T6 K7 L+ l1 W! O
{1 ^7 i, M* ^5 A/ p
for (var i = 0 ; i < itemiFrames.length ; i++) 0 y% ~' g( U o# C
{
/ i0 V; m, M4 Y& C1 [ iframe = itemiFrames.contentDocument;
) {: l* z1 p+ k, v; S& q4 c* p" Q this.RemoveHide(iframe,objname);
' z7 C/ c* l8 v' K+ c- ^# A }6 X8 D- u% _# ~9 N
}
' h8 X% x( W+ h0 ]3 c }
# `3 \/ m2 i% ^! N( \) N' f% S1 H, { catch(e)
3 s: Z& l- Q& {% N' m% j {* J4 |1 K( n0 `) r! z: L
if(debug)
K' j& c2 ~; D- j7 c E% I {
8 z/ T- S$ x# A, F alert(e.message);# Z6 M- X/ o) e; ?0 _, L& r( I
}
5 _/ F l4 C3 j }
& m/ h, N8 W; I9 |# J( Y1 d8 Z } a% D2 |$ ]1 y' \( V5 i3 G
) Y" V$ y0 \. E) Q' p) p}& }) z1 T- u3 {# v4 P
7 k* R% t8 {; a/ @function getRGB(colorString)1 k/ b+ V' z! ^' x7 J& Y
{
9 q. _5 S" i4 f* W var RGB = new Array;& u) o3 Z: M. v0 X, D! C
var tempSting=colorString.substring(4,colorString.length-1);8 r f7 Y% J ~+ C9 b' n
var tempArray=tempSting.split(",");% D- R5 L: |9 a; H6 }6 h
& l% @- X5 ]' ~$ ] RGB[0]=parseInt(tempArray[0]);
! ?5 q" ?* S: a' U1 f4 z1 d2 t RGB[1]=parseInt(tempArray[1]);
. A: |- m( y; a8 P; y6 e RGB[2]=parseInt(tempArray[2]);
$ C F+ D- }" Q/ ~
; V0 O$ j9 o& l, r0 P return RGB; n2 Y2 E+ D' Y( ? y1 C
}
7 C" q# d; C* r" tfunction keys(evt)
9 L2 N. D, G* j1 x& A { 4 Z% ~' \" c4 Y2 _
if(evt.ctrlKey && evt.keyCode=="81")
f# G; ~% H+ L" f! N% t! m {
8 j' U) Y Q7 j0 N2 }2 Z9 |& _ CleanHideObj.on(0,1);
( K0 D. Z1 v" k; T& Z% j$ \ alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 j2 t: {: @4 e) B( r ?% P/ a - \) w; ~" t8 D* _1 h: m- _: E
}
) m8 R0 Z0 V' Q3 i! `8 p8 e3 t } 4 \9 T. R- v X+ J( y$ A
document.addEventListener('keydown', keys, false);
" i3 f; u& X' g' E3 t2 h0 |! mGM_registerMenuCommand ('Clean Hide',
9 D# g6 A- P+ jfunction(e){
: N4 K3 T1 Q# D, i- ~/ Z: pCleanHideObj.on(0,1)
4 B1 e1 C" W& F8 oalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); o N& Q% t& c* W9 Q! V; s
});
% @4 ?4 j& D; C& L3 \( P |
评分
-
查看全部评分
|