|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , Y% g; U1 @$ U
! h0 Z1 j2 s5 P3 k7 T, Y5 Y1 x# v火狐插件,用猴子
; I; F. W$ L7 ^& b+ U8 n- e5 M2 K, Y: C, ?3 y1 m4 a7 ?
var debug=false;
9 z) J+ L$ L0 X+ W6 mvar CleanHideObj=new CleanHideClass();
% V# {& y' j4 b2 j/ e; {' F. B" T) Q6 ^' y$ m& z
function CleanHideClass()
6 h! y3 \* V' t2 D7 M- @- z1 j h{ / t8 w M8 b4 S/ [6 D
q5 r1 B: w3 n: _7 i! { this.on=function(id,bMZ)
$ m7 R2 ], d; a* H {
0 j" _0 j) W% v" `
. e8 j& |' W# _) ^: W6 e @ if(id == 0)+ P2 x& D! u- m; q6 I2 _
{, h" L) l, G! n1 h D- l
var page=/* document.getElementById("content").contentDocument */document; 2 R; Z& H5 i6 _& s8 ^* t
this.RemoveHide(page,"span");
! e$ M4 V* Q8 C; b5 g# [ this.RemoveHide(page,"font");
( H3 } S3 r+ E8 o. n6 v; \ this.RemoveHide(page,"div");
2 b) E' v- H. w8 ? this.RemoveHide(page,"p");8 [) J$ |1 x+ G# P Y
( }& I) g2 |- @# j) Y
}
: y; l9 Y* C# c2 Y [# M6 J " x# B! @# s! S* x/ d: {% h
}
9 T' s6 t F& A& J4 h" k' L2 ~/ t5 @ this.getobjstyle=function(node,prop)! @$ |7 \/ s9 W1 b2 T/ s0 T6 E
{
" `6 O' {' S$ N2 E) J- I try0 h" V9 |" V# y$ M" `
{
. P9 z9 | s$ P+ {8 Y) ] return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
. \! O5 u; Z: H8 i( K. H }
2 `- ~! \% \2 ] catch(e)$ @9 z- e; h* b' E" m2 `
{- f1 y- F ^+ ]4 Q1 X6 J% C
if(debug)8 i& |- {7 q! @: @& q6 c) z8 H N4 W7 D
{% o4 f1 o3 C3 Q" G
alert(e.message);- y" J6 n/ _2 `4 f/ Y% ?
}
( I) F) S/ t% X' t1 @( V
0 C5 x j1 i0 h$ m! _# R5 H9 m return "200";
; R0 X* V+ c' ^ }
. ]* L- ?# Y9 S2 r% c* \ }
5 l1 F7 K! w2 e5 M& w% n0 P; F
# c" h6 m3 [; t$ U G! e this.RemoveHide=function(page,objname)
( G1 o; J+ U& ^* I {! y* q$ p. m t! V3 X% i1 b
try" k3 U" S5 C* s/ W7 d0 A& h6 v2 t
{
) J9 x, I% Z8 P* h1 b3 F1 }, t. Q+ n var minValue=15;
; E& p5 v3 @& V3 U- G: p var objs=page.getElementsByTagName(objname);
5 ^1 e P/ z1 k2 z6 s3 D" R
4 H; }# H+ z- T if(objs.length == 0) 3 o5 C7 A- X, e; K% A# {- | M9 N' P3 }
{3 c; N9 ?' E/ {2 p6 a
if(debug)! b5 J/ e* _' `
{
( ?9 Z5 u- X# P- a, b( a alert("no object found!:"+objname);
% J/ U0 r M0 H }
- B7 N" I0 S. h2 l: Z5 G }
( H& n: z& z" s' \ else
6 x# P4 l/ b' `4 u0 |% Y {" E9 F* [' B7 G$ g) B6 n2 s4 y* ]
* a& I' h) j" h# y l3 Y8 ~ for(var i=objs.length-1;i>=0;i--) # X* k8 b4 c( ~1 u; e
{* [% W1 w( I: S' t' ?
var node=objs.item(i);
* ~1 h2 I/ i( V# {: z2 ^
% M `6 \6 c* ^+ X
: j6 ^) r. Q9 I/ P5 g if(this.getobjstyle(node,"display") == "none" ||
! n& D8 f% ~7 q9 M: e& r) b/ E this.getobjstyle(node,"visibility") =="hidden" ||
) f- b" d* J+ y/ S; c5 A: V parseInt(this.getobjstyle(node,"font-size")) == 0)
( I) @# k3 ^7 U {: x' X0 L6 o3 {3 e+ Y' z! J, p
if(debug)
0 t7 }) j2 ]( o: m; a& e! l$ q' U {+ I/ _0 q H- m- R
alert("remove invisiable!");
6 @+ O# d3 L9 C }
! K, z/ a. v, N& v: q5 _8 S: g node.parentNode.removeChild(node);4 e% U4 h$ C1 Z- v$ s
$ J8 f5 d7 t: }! [' R
}: n0 x& A& \0 @( q$ T; f2 g' o
else : D9 t6 x/ ^( w3 B# k4 d9 V
{
; C2 c: @' Q ~! f* t$ v' x if(node.parentNode) - g5 Z8 Y. _; S9 L# \& d
{' k) `0 }& X/ g
var orgNode=node;
7 Y: B: i+ r* d! U# j8 h var orgColor=this.getobjstyle(orgNode,"color")
+ F5 \3 {+ p* f var orgRGB=getRGB(orgColor); 7 B' I: F" w: K) }
- k6 t/ [; I8 i3 b var parentNode=node.parentNode z# \# q# F; L2 k% ?8 Y
var parentBgColor=this.getobjstyle(parentNode,"background-color");3 L( C0 y. t# Z) G$ V4 S. h
( z K! W! x1 o
var isLast=false;
& H# j" G% C7 P+ a" G) m
: U3 Q1 e" ~6 k3 y6 b6 [. u while(parentBgColor == "transparent")
$ ]4 C' ~2 }0 z8 |" E# c& s {) M6 u" y: x" P3 m- ?0 r
9 d6 _: u, _& m& I & a8 y, x+ E% _+ P
if(parentNode.parentNode == null): h5 A8 z4 u4 K
{
4 c0 o, A1 R$ L9 C1 I2 T! a5 `2 @5 B isLast=true;) [3 [" }/ t* e( ], P3 l4 \6 Q% Y
break;$ b) ?. q8 t; f) | t! Q( {- X9 [
}% o& f. H8 i B) V, @) W
parentNode=parentNode.parentNode;
; R" U- ~) @3 {0 B; [3 X parentBgColor=this.getobjstyle(parentNode,"background-color");
# g5 M S* R5 N' Z) P3 ~
# j& S* [5 A# X/ p' }2 ` if(parentBgColor != "transparent") 5 V# ]% d X1 X4 V
{
5 G: F1 d _1 R4 ] V9 | break;3 u2 y7 r$ n N" Y
}( k9 W6 h: w9 Z: m, k! R& D
}4 J9 s- e, f/ I6 l3 E; z+ k' r
if(isLast) : f1 ~+ V/ S+ ~! D% Q( q
{
, M$ [# c0 S% [ if(debug)/ A, m% I5 A2 |* q. U e
{
5 n9 ^3 a6 ]2 I# I O: Z) Q7 U% ]% V: F3 v/ n alert("last!!");6 I6 N8 U. ]7 J2 N+ g1 x4 U
}5 Y/ Q: c8 j) S5 r
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
" x% r, N% V* t* y7 u {" L4 x7 c2 |# K `. S' l
orgNode.parentNode.removeChild(orgNode); ' Y) s& h+ k- G& i4 y
}
* S5 K7 h4 B; L }
! i/ u+ l5 U3 K else
* Q4 Q" y! L1 G( d; o$ F {3 r8 q3 `# u/ r2 m" c _
if(debug)
& x# | C% s9 y6 @7 q- k; ?! e {- R7 n! K4 {! k5 y! b. `9 T
alert("compare color and parent bgcolor!");
% {- Q$ [& T* n2 L9 U8 V% c/ Q( ^! ~9 m }, j' T" K* W* i+ B* Y! @7 F' \
parentBgRGB=getRGB(parentBgColor);
. x, @- N: S7 z4 n if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
5 [- h+ {5 r( ~4 R" C/ } {
' d/ N* J |* D orgNode.parentNode.removeChild(orgNode);
( l* t* a8 |3 {8 f* b: N } m3 S$ x1 e9 I; T0 O
}
. h- Y& T: c( t* z }
' H1 v9 O% Q7 Z2 e% q }0 S4 v1 Y& o w4 j3 d j+ n7 v" o$ x( P
}
/ C e. C) D; ^' L6 U( v" a }
3 R( F( s o, y! j, I' n B' I
3 |/ C( E9 j& r: A
# ^6 e" a4 `7 Q var itemFrames = page.getElementsByTagName("frame");
8 L b& G+ Q, ]. h6 v# ] var itemiFrames = page.getElementsByTagName("iframe");! t8 X, v9 o. e/ P) \* N+ |* d( f( f
' l. Y" B6 g# x$ ] var frame, iframe;. {! p# j5 R6 }. w" A
if (itemFrames.length > 0)
9 K/ Q6 L; A/ V {2 d* r" _. P% u* {* s7 b8 F
for (var i = 0 ; i< itemFrames.length ; i++)
4 |" p: K. m. J( r {
# o6 F7 v1 l+ m frame = itemFrames.contentDocument;, N( L3 J& V$ F+ ]0 ]* X$ K6 @- u# B+ D
this.RemoveHide(frame,objname);
$ Q5 W3 N- Q" j7 X8 U# B }0 Z8 ~) @9 l; {4 x& m- B! F
}3 }" R4 Z9 [! B' {
if (itemiFrames.length > 0)' H) G7 ^3 r- j, z2 [$ u; }. O/ ~9 Y
{1 f' Q& w. k8 N) i0 b
for (var i = 0 ; i < itemiFrames.length ; i++)
9 b9 V4 e4 }: S5 | {
' B. E7 b0 s i$ c; s3 H3 ~6 E; L iframe = itemiFrames.contentDocument;
' x0 t V1 ~6 k* l; x this.RemoveHide(iframe,objname);
) }2 d/ W2 q. k2 ~; p8 J. t8 U }# a& {, V; |7 Q# @
}
4 C) d2 Z) K G( b9 j* D }( \+ s0 v: x1 b0 D6 H
catch(e)+ o/ g& l/ I! D' K
{
4 C; ]1 {- q4 T9 _, K if(debug)
6 t H- V, R+ X! b4 k4 x {2 _: k) ]+ }, T6 K# G
alert(e.message);
, { q4 R4 `3 R* O }
5 Z+ N3 R% _8 I1 `- W6 \ }- U: v* R5 b6 e3 F' `7 O. B- W
}: V! E: ]% U4 y7 Z2 r P- p+ ]; b
% I, |0 H2 v6 P% n}3 a% m$ }$ y, r2 p: w
6 ^; ^: [4 A' {; jfunction getRGB(colorString)
( [7 r; v) l# N* Q' p9 t4 z{. N* }) T4 @+ [" H9 p8 t" [: {
var RGB = new Array;
- I4 `" d0 \' ?( H7 J ^& k var tempSting=colorString.substring(4,colorString.length-1);
/ L" S V* j- n# ` var tempArray=tempSting.split(",");
4 g3 h' o' E4 D% N# w2 m" s( B& z: _* Z5 }- b7 P
RGB[0]=parseInt(tempArray[0]);' {( D h- C7 @; Z/ ~, d: p/ m1 P
RGB[1]=parseInt(tempArray[1]);7 Y4 w5 j8 ]% V" t; V* M; w
RGB[2]=parseInt(tempArray[2]);3 |3 l/ x! U$ v1 L. A& C
. ^0 b* u" D& |3 b$ J
return RGB;
) ~ }& U2 N, E! u3 x) p1 Y}
5 N2 m/ l6 k) ?% m: [$ k, U6 bfunction keys(evt)
4 B) B8 h& t# M, f5 ]+ u# p { 1 W0 \ k' N/ u3 @- }: R
if(evt.ctrlKey && evt.keyCode=="81")
4 A* k- _. X( h z6 ~2 D! N! B3 P { ! e+ X8 K2 O+ P' E6 v% O! u
CleanHideObj.on(0,1);; j, A1 M3 ?0 ^+ q/ s
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" ]. m6 S( f% `0 h& r! ~ 6 r: g, H% b% C6 w1 P
}
( s# |6 R) F j* D; f+ B% ` }
8 W' @; S/ P. D/ k# ]( Ydocument.addEventListener('keydown', keys, false);
; N7 Q: Z7 A8 S/ D/ TGM_registerMenuCommand ('Clean Hide',
+ U0 V; S1 P M/ ~, D+ r+ I) m- O0 Ffunction(e){4 Q. ?" t2 H$ I6 t( E1 b
CleanHideObj.on(0,1)
9 H& k! s, Z! U; t' J/ q8 X! ealert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 B! F. H5 k8 K) q1 f% ~4 @});
4 A6 }& L6 n4 s& | L3 Z5 ?" ?1 [ |
评分
-
查看全部评分
|