|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
' G0 i1 L, ]8 T$ x0 i& g9 H5 b2 |
. T4 R$ f; f* l$ \1 C9 b7 X# i火狐插件,用猴子
: l8 q% ]$ q" {+ m; s
# t3 y; R( N7 k2 ~- Jvar debug=false; * o6 I! x: @9 x) ^" z2 k
var CleanHideObj=new CleanHideClass();, ~' J! j/ }0 N9 r
9 z) d& l/ t, ?5 j3 v5 e F
function CleanHideClass()
. H# N- v3 F1 f7 M{ * w) t, g3 j2 o8 {$ b$ t4 ~
* o6 |( E* g; A9 z0 O+ V9 I this.on=function(id,bMZ)8 M$ w$ i; N9 |7 {0 O/ e
{
# e+ o# o3 y7 X. E. A% ]7 }9 r( \7 D 5 k1 O& J$ [4 L1 E1 o" n6 \
if(id == 0)9 \% o* N! q' P3 N
{+ ?' ?5 p' S: L E, J5 c
var page=/* document.getElementById("content").contentDocument */document; " Y! w# q7 A9 d: a. q
this.RemoveHide(page,"span");
$ `& m1 K. c5 ], Q& j this.RemoveHide(page,"font");' _+ G7 p* S+ p3 N/ R- A
this.RemoveHide(page,"div");
3 g: _" _* g2 N this.RemoveHide(page,"p");3 k. s" A+ ?' B' i
# h& i( y; \$ n1 @% z }' J6 W; N+ o7 R" b) [
8 _# Y. @2 @! {
}
* q$ F l, K1 G4 N2 Q& o6 u A this.getobjstyle=function(node,prop)
$ U" Z0 T9 F( N8 b {
- v- n" F- r$ Y P0 e6 E5 V try v- N* _) p2 R7 W8 M2 ~! W- Y+ F
{
8 ^+ l% l# L9 \9 [ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
) W( v" r. n3 E! ]7 p3 ?2 j+ i3 C }$ D' L4 K6 R% P# m6 a1 }8 @
catch(e)
; Q7 ~7 {# u+ Y6 s) M/ X+ ~ {/ R2 K! [ y1 ?$ s
if(debug)
) m; s5 g& L( _ {
; n9 W6 G/ g( w" W alert(e.message);
3 G: K2 Y7 o+ H }2 e" }7 m2 f4 q! e1 e" R7 S
! }! A# l f0 H& y8 M" c0 g# ~" w return "200";+ y2 ^) h4 b7 O! c0 L4 i
}
/ s8 o6 E7 F5 G- B7 f }
& [+ V8 ]6 J9 g0 J3 ^) d8 V
) e( ]1 V. ~* Z O5 [* T l this.RemoveHide=function(page,objname)
3 P4 |9 S' o3 K+ ?" s* b {1 ^$ `1 _6 k5 S( R \
try
# x+ g4 G! l9 \2 ]5 h3 f1 Z {
! Z" h% A$ F! N9 m; | var minValue=15;
" N- o' j, R! D" ^" U, J2 ]" U var objs=page.getElementsByTagName(objname);
. |6 W$ {' }2 p6 s* p" A# d: F! I0 u5 P7 A) V& v/ g4 x$ c
if(objs.length == 0)
7 {! w2 g0 I) t# g( L/ P2 z6 ] {
: }* Y- l2 z3 o/ Q if(debug)6 e" p1 W2 M2 E5 h' d5 F' T
{4 Y0 U2 l. c6 D+ L% m) K
alert("no object found!:"+objname);0 ?2 h2 o! E+ |3 ~
}' ]; O& a' G/ W" v3 M+ E
}! {/ ~1 _# |& w3 L$ {* F% K, Y
else
5 F, h H' k8 o) W [ {
9 T5 G+ e6 W6 \
$ k3 G4 a" p: C" F& A% S for(var i=objs.length-1;i>=0;i--) 4 q/ f# k# ?9 x, H: g" F
{
9 b7 q5 k) }$ x- t7 ?9 ~ b n& O var node=objs.item(i);
l4 C! T1 C. X% W+ e6 w+ h+ ~ 5 I! D3 t: r! @6 G1 q0 E6 V; m
& O0 S: t a/ \9 S* d5 a" q
if(this.getobjstyle(node,"display") == "none" ||9 k* J* W+ x! H2 ]: A) {) ]
this.getobjstyle(node,"visibility") =="hidden" ||
. \% C; e/ Z V- ^! |" m5 v parseInt(this.getobjstyle(node,"font-size")) == 0) 4 y. p' o1 m: ^! Z' L- d. t
{! y ~6 D- g8 B) T7 v
if(debug)" M y6 j3 d$ t( e! U, ?
{ ~9 X& a% @( w$ o. z- z
alert("remove invisiable!");8 i- \5 |% B P
}& m; e3 @9 s* |3 [% F9 ~
node.parentNode.removeChild(node);
0 W6 o- P! F4 y- f ' H, ~' c0 G- m# p; \% ?/ T
}1 P4 r% Y1 ~3 S. F0 Y
else
# I8 ^3 c5 b, }* [9 Q) y Z. a {: O5 \7 h9 S( u6 B2 c
if(node.parentNode)
1 U/ U1 @8 A/ f: L% d {
2 y b: {* n3 u0 ~5 V var orgNode=node;
9 m& V; L1 y& m' g: {2 G! \* a3 u var orgColor=this.getobjstyle(orgNode,"color")* W* S% E |) K5 }- U
var orgRGB=getRGB(orgColor); " N1 f7 g6 j& \3 P# ~5 n1 ?/ R% _
+ n! I8 H4 ~2 J, ?. z var parentNode=node.parentNode2 D8 n% s% C. p# t
var parentBgColor=this.getobjstyle(parentNode,"background-color");5 O% m+ \! P3 K& ?# ~5 P
% r" F9 ?0 z+ i
var isLast=false;5 P+ k% V$ y% ?- Z: k% w* ~* ^
8 o( t6 m1 @2 B/ R) v+ e" l8 }1 F! v while(parentBgColor == "transparent")
a. e3 y5 Z2 R; I8 r g {+ {2 K0 u9 w( R$ @/ ?) ]
" `" C% r4 d, b0 x
& ?9 n' N7 R8 c# r( Y4 | if(parentNode.parentNode == null)3 P" h' ~+ X" n4 L
{0 N8 V6 N, v1 X& D. N9 x; n9 }* i5 \2 M
isLast=true;
I+ e! V, o' z break;
6 `2 P3 m) s, I, W1 Q1 q' H* v- B( D }
* ~; r* ^9 R% `2 N- w parentNode=parentNode.parentNode;
2 c! v4 ]/ e# a4 I6 ^5 A parentBgColor=this.getobjstyle(parentNode,"background-color");
, E% v3 ~: D0 a3 _+ Y0 P2 R! T' g! k! C4 i
if(parentBgColor != "transparent")
1 x/ U+ W, |! u) |& S+ [- C3 T$ J; m Q {
c! h' S% p( ^: U8 { break;) w) Q0 X6 ?/ \$ V! t, s7 \
}
7 e* x4 f5 Z. `: X: e2 N$ @ }
9 B2 M0 t3 ]; G) H; s if(isLast)
" N2 B; L# x# I- T: b7 O# p {- n% m9 X; E; l* L
if(debug)
# w5 M4 O8 z/ {1 V$ Z, I {) q% A! d# {& ^" N8 ^0 V
alert("last!!");
* X3 x1 _" u0 E8 ~3 p' x }
: \' M7 d" \8 S n5 e# T if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))& i3 N" B r2 c4 N
{
4 X# K: i6 D$ ?* i' `9 Y: F# n! J orgNode.parentNode.removeChild(orgNode); n U% U. Z1 K0 i; `; R& ~
}; m* x. J* u+ p" o+ E: L
}
. e' `& ]# c2 y6 Y0 I* z else
" K) W$ g z0 Q: h9 |% o( L {
5 C1 G1 W0 r0 R7 ^7 X if(debug)
$ @6 R) n; t9 S! z. I W {- J. b" Z. P# ?+ D, e
alert("compare color and parent bgcolor!");
5 n9 h) p) t5 S' [ }' Z' O* o5 c5 e4 a, ^. y$ m) j
parentBgRGB=getRGB(parentBgColor);$ I) {7 v" c# ~* ~8 D) [6 e/ a
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))6 ^& F# L D: n: M4 r1 \3 A
{% N/ L( c. {7 s w- n
orgNode.parentNode.removeChild(orgNode);
# U1 L' Q P. Z% z: x }
; o. X m. b( E) ^# c }6 r: S# D% `3 E! a
}) G% X8 z: U1 p2 g0 j2 J# [, [
}" Q$ i$ b8 z% A$ w+ _
}* W' `' W9 F6 e' `6 r0 m
}
0 g3 J9 v! y Q2 K9 a* }2 _0 ^) { 9 b/ d: l9 R" u$ m5 Y4 G4 W
( @# w/ Q/ I, v$ d
var itemFrames = page.getElementsByTagName("frame");
7 ?: j' M, l& Q var itemiFrames = page.getElementsByTagName("iframe");/ X ]* Z* N/ x2 s5 y3 m5 h
; ]: y! u4 }: K% ^( `3 ? var frame, iframe;
; Y" S( z9 [6 K1 [) i if (itemFrames.length > 0)! U8 x9 s$ m" T. _
{
6 y$ M1 j3 n" j5 o8 K6 J for (var i = 0 ; i< itemFrames.length ; i++) ' F R; v+ U& H* K( a7 E- l6 F
{' v; k; ]1 j( f7 {. C. ]
frame = itemFrames.contentDocument;
9 a3 }2 V/ e: {! Q this.RemoveHide(frame,objname);
- _ j* Z/ o! _5 U) x9 N }
1 ?% V5 v& J5 J1 [) @: H }
# l+ M+ ]. u9 k if (itemiFrames.length > 0)
( z+ V* L$ j* T6 D1 f {
' i/ y) i. |4 q# b for (var i = 0 ; i < itemiFrames.length ; i++) 4 v: L/ N% F9 Y* f
{
Q) X! N0 M, G) q1 ] iframe = itemiFrames.contentDocument;
( |5 Q1 ~% i4 ` this.RemoveHide(iframe,objname); & }9 R. V: l) S/ i
}% z. H' C! L! Q, A3 b3 [( X& |! z
}
5 Y% g5 L! F! d& @ }
+ {; u. c# S3 v ~; N catch(e)
# u/ a7 ~! G, L) f! w {! p; [/ M% X0 y! k+ B- Z
if(debug)
) U) |/ B0 \: N( c {/ _6 _8 G, B) z
alert(e.message);
* q& A1 `, ?6 B; D; O }
+ t" @4 m. v3 f1 T }
9 u2 V* ~- n9 U" m! E0 f/ T" c3 g }
' k2 B3 W, ^% V L3 v# {# u+ L9 V 9 M, e! Q* F' f; Y
}
1 Z8 v/ I, P7 `' T* o! d; _1 y4 g. E V/ {
function getRGB(colorString)4 O; o& Y+ v N5 `; \# \1 z
{
5 x: F7 l7 K8 f$ l( ~; O5 U var RGB = new Array;
6 u# ~0 a& g! M' M. m0 B. D var tempSting=colorString.substring(4,colorString.length-1);
0 D( o& d. D4 s9 l; ? var tempArray=tempSting.split(",");; H) R$ i7 i1 q
. L5 d8 @! ^) c. n RGB[0]=parseInt(tempArray[0]);' n$ y2 Q7 Z, P/ a! Y. X
RGB[1]=parseInt(tempArray[1]);+ }8 v4 s6 z1 q3 q$ ?* J
RGB[2]=parseInt(tempArray[2]);5 W- ^2 ~( |4 _- D8 _
* e" z- f8 r+ x* P2 a. u& D return RGB;
/ A! O, |2 I' I+ }1 V( @}
5 x4 m- l* |; w# S. \' [function keys(evt) 0 V: G& j1 j) r4 ]
{
k. x& O4 H* W) t% O q if(evt.ctrlKey && evt.keyCode=="81") 8 g. Y: P# V3 }5 P. C, b
{
5 E1 ^$ ~9 B" T0 V8 V, A$ Q" x* @ CleanHideObj.on(0,1);0 C( h6 B. V( h9 {; C
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! U# ?2 B7 o. b* h/ J
9 h D: I# x: c# S } # {1 R. ?4 D* H; x
} & M: f7 n' m' l- n
document.addEventListener('keydown', keys, false);
4 U& _" |7 E: Y/ aGM_registerMenuCommand ('Clean Hide',% O. H0 p# k8 `+ L. B
function(e){
! [8 i9 e; U; V& y- }* B4 }CleanHideObj.on(0,1)
. B/ ?! d% `- P0 I. j5 p5 I5 n% Qalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 w' _, ] d$ j+ Q: x5 z});& C* e% x/ }# S7 ` c5 O
|
评分
-
查看全部评分
|