|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 6 V/ x6 b) b3 A0 E
- ]9 z1 g1 ?; m) G6 V# G; ~ ?" @
火狐插件,用猴子! z J/ ?& n7 P7 |; y, z
/ g3 Q+ J; {8 P) I" V) |
var debug=false; - \. f, _# ?7 I6 ]: N9 b
var CleanHideObj=new CleanHideClass(); B5 v3 E! s% {- F
! {7 h: d3 Z: h% v$ u7 T
function CleanHideClass()
4 H8 O4 ^3 O4 {1 l/ i' U{ + k/ ^) J( k0 R. a
% v- S9 ]9 c2 U) m% \
this.on=function(id,bMZ)7 K8 P" i! v( n" y+ Q/ w* W$ Z& y
{
, a' s' d* t, d2 J & v5 Y9 i1 |) ?, P' K
if(id == 0)
7 _1 ~4 k3 w0 Y {$ p9 s/ `' `/ p E% R
var page=/* document.getElementById("content").contentDocument */document; 1 ?2 v6 e A% j) t6 e1 ~1 K' s
this.RemoveHide(page,"span");& |2 ^) t: A0 c/ K$ `8 L
this.RemoveHide(page,"font");
t8 E4 J4 j m9 O2 d this.RemoveHide(page,"div");/ b* a" _# d' ^4 d0 \; F; Y% Y
this.RemoveHide(page,"p");$ \0 S% C1 v8 N6 s, J4 Q
2 P3 q2 ~5 K) |. z
}
6 O. N' `+ T/ N6 h% M4 m8 k ; e3 p K- j0 F$ ?" ]0 w
}; z2 A) M' E5 j
this.getobjstyle=function(node,prop)3 Y- x9 _$ k. m4 @/ N& c, }
{1 y. S! l. L7 V) A. T
try9 Q3 |/ k+ K7 N
{
& h9 a4 R* h7 H2 y! J( K& Q return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
s( c9 N$ z! j& l+ X c }4 ^6 x0 ~( V; Q1 a2 Y
catch(e)
, G3 V% { T% ]" _8 l: h {2 V+ [4 f) j, l: X$ d9 Q* T
if(debug)
2 J) F; w2 t' T" s- V$ q i" H {
/ I$ ]0 P( s3 H8 [) D# q alert(e.message);
( ]/ G- }2 \4 z/ w2 J0 M }
% O. h1 h2 @; g; m5 _
* }' g N; n' e: T8 f, Z. V# J return "200";# J3 T9 B& b7 N# g: {+ K- P: L
}
5 d) S! b0 f+ ^9 d) A }
5 C* `- B4 `; g2 U% V0 D$ L. t! i
3 F7 t% W. d0 \( C0 D4 Z this.RemoveHide=function(page,objname)
( X3 c9 L3 M5 y {; u6 ]. E3 {0 K0 e9 z
try: e p3 N# |5 \7 f C1 k
{2 W' L1 @: W2 }
var minValue=15;" N7 a, K, A! C3 q& \
var objs=page.getElementsByTagName(objname);
4 _8 c6 U3 r8 G/ f) j4 a( |8 n
^$ c4 |* q5 u4 w! s; i. W if(objs.length == 0)
9 I8 d) J8 J" g: h$ I* N0 s% f {8 E# S7 Z8 Y2 h
if(debug)
% R/ h5 p+ R8 x2 H/ r4 S3 m {
- ~/ x$ t, `& v E0 n& U) b alert("no object found!:"+objname);
3 s f( @! p* h8 Y; l: [ |, |; d& n# X }
3 w) ]8 S( i+ u6 C }
1 w* h+ h4 m* J1 \3 w% J else0 c: v+ m2 b6 L$ x8 ]9 u
{7 c- w3 V. @, J# J
5 ?* T% f- Y- `1 u2 g7 x, E
for(var i=objs.length-1;i>=0;i--) ) `6 e( c: o4 l
{" g h$ a( O& _
var node=objs.item(i); 1 D1 k8 a3 H" H& z8 ^+ Y7 e
% q5 R) Q9 m% {0 r1 w! Q3 M # A, U7 n. v4 V# B6 p7 k2 C4 ?
if(this.getobjstyle(node,"display") == "none" ||+ C- A& D' x# P) l8 }
this.getobjstyle(node,"visibility") =="hidden" ||( g( w% S; Y& q! |! g) l0 {) _
parseInt(this.getobjstyle(node,"font-size")) == 0) % B8 N& B9 A9 j; W6 f4 C
{
3 V3 B4 X0 j4 B8 R if(debug)
) F: t# V* ]1 a. V {
6 X- f8 V# p9 A& C8 g# G alert("remove invisiable!");& A% u% R8 {: Z) _$ v! T% p
}) R* v9 h: V% [$ F
node.parentNode.removeChild(node);; ?6 L; M# R9 e* S* C3 p! o
) B. b! J9 P. h7 u( u; Q3 F }
, O/ A' o% f$ i( v& q else
2 Y! ^* z: Q9 \9 E {
5 w. l+ v) n! W: t if(node.parentNode) ( z% x" z3 ?" ^. ^0 Y* l
{5 c8 ]4 \+ I; T
var orgNode=node;
. n8 z( ?3 [7 [5 \ n var orgColor=this.getobjstyle(orgNode,"color")1 T' K) _+ a+ r: D+ Z
var orgRGB=getRGB(orgColor); 2 H4 x- u/ u2 }- I- @! ^4 Y
$ R6 U* f4 H$ D( W4 |
var parentNode=node.parentNode" M: r. g! b* L9 d) f! \9 S
var parentBgColor=this.getobjstyle(parentNode,"background-color");; e7 F' n ], p7 k9 |, s) p9 G
: Y: P8 K& N. o/ n1 a
var isLast=false;1 o0 B" O. e+ w& m* |) A
6 _, @* n3 P. y6 {' ^* N* \9 O/ e0 _ while(parentBgColor == "transparent")
; { N4 [! |3 |. V) L8 C8 r5 e {
7 \5 f3 m& ]1 V }
' {) G: c8 [. g8 Q* i9 [, O: c
; W3 v0 J. b! F$ p4 x if(parentNode.parentNode == null)
, ?9 m1 P, n5 D; p! m; p {9 V# J( g( a; r1 B( I
isLast=true;
* e7 e9 @( _1 l$ \3 p& y0 u break;
. D4 T Y7 D# v2 i8 J4 {; c6 B }6 ~9 D" C' m g0 u
parentNode=parentNode.parentNode;# P, y5 C% y% m# @9 H6 A7 p* x
parentBgColor=this.getobjstyle(parentNode,"background-color");4 S4 B/ a) L% x$ y! |
+ Q1 b, e2 z8 _- I. ~3 g0 A if(parentBgColor != "transparent")
; h& e4 \4 B( F. m& e, g& R {
, g( o% s" F! p9 F4 f6 w break;: ]7 O w, A9 B3 w* T
}8 L, U0 j, W5 b" K7 c c Q/ \. f& P
}8 O$ K. }$ e" V% L+ ~
if(isLast) ) ~% J: _6 r8 L# r
{/ _5 i4 k3 x+ g; E' W; N
if(debug)# M" |; T' f8 o" K5 y1 |
{- R) x& _) r$ v6 K8 S; o
alert("last!!");
* `" G" l, Z7 y7 P1 A) |; h }7 _4 k; U9 B* T7 ~( p
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
. p4 A. ]1 n V$ c {2 e* \6 E+ B- C8 I4 N" Q( b. J6 i5 h
orgNode.parentNode.removeChild(orgNode);
) U8 V9 q4 H( { }9 ~# n6 C' Z: U
}* L; O) S6 S8 e1 |" a1 s
else; N5 Q- a6 x4 F& f9 Q7 P
{) {0 n) f2 }: v# \
if(debug)8 K; Z% P3 c' p& m: a3 A& w+ Y
{ N' {' K' m4 ~6 B3 Q
alert("compare color and parent bgcolor!");
' E! e0 |+ W; R P/ V# z }
0 p+ d" _6 l# U% u parentBgRGB=getRGB(parentBgColor);/ Y3 i) E" i! [( ~+ v, N C
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- D0 s$ g+ |) N3 c5 ~, |+ W1 D, w' m
{3 O3 q$ C# S+ d' F1 ?2 Z3 d5 L3 i
orgNode.parentNode.removeChild(orgNode);
- B+ N9 O' S/ Z6 s+ p8 ]. K } @2 e, a0 _* I
}
1 b9 t4 V+ T) a0 | }! p' k) c: s- l& g/ F5 }4 ]
}/ A3 N/ O. R5 s+ Y- Z$ O* e6 J7 r5 e
}; ?/ k& a* T6 B9 x8 Q2 ~
}
5 o$ ?7 m# E6 D% ~ T& m
0 e! Y- [4 [2 x* s" j8 a
* q. d, W8 f6 J3 F/ ?4 q1 }2 h0 f- X var itemFrames = page.getElementsByTagName("frame");
2 w s0 C/ b) h; F" ^ var itemiFrames = page.getElementsByTagName("iframe");
+ V7 Q; ]# j4 `$ f
9 ?; `3 w1 y. D: }: H8 x) e/ w4 t4 \ var frame, iframe;
$ A. J3 J- v1 S r- R9 g if (itemFrames.length > 0)
1 M$ t& E3 u/ f {
* f5 E) D# ? a6 O8 h for (var i = 0 ; i< itemFrames.length ; i++) 2 |/ z7 h; @: J) R
{
# L# M9 j7 Q3 k9 ~" i( }* l frame = itemFrames.contentDocument;
' i- L) C0 d5 R3 C1 U, s this.RemoveHide(frame,objname);
. S _7 H8 J! d/ q! W; C1 Z- v, G }
) V3 n& B& h; e# I }
+ b( ~0 F/ ^- F6 F# m; ?% A if (itemiFrames.length > 0)* @) W# l8 V' M: E# |1 n' m9 i1 J
{
% E$ i/ z4 R1 Y) D8 D5 ^+ V8 o6 H) p for (var i = 0 ; i < itemiFrames.length ; i++) , N5 D1 y1 [8 o, r6 P0 X
{
X. b0 ^% j7 e( d/ H5 L iframe = itemiFrames.contentDocument;
3 M9 c% r0 U4 @# l/ X this.RemoveHide(iframe,objname); 0 e) c! Z, R0 r
}
: {( I/ P1 M0 m! q$ N }: a' \# g2 @# |, p5 \! X6 e# j
}- w! V, L5 c; N- w7 O
catch(e)( B# D1 Q$ N& X0 z' q! W
{
8 o j. x! Y$ H. o$ X1 f if(debug)2 v* [# T4 Q5 `* X
{2 a: z/ a9 C d2 s, N/ X
alert(e.message);
1 X6 \. h. @7 M }
7 C; s* f u* n, O6 t }
: b# K5 b1 T& {9 N }( ]. E O `1 B. S1 ~4 ~
1 _7 k' \' r' l9 M' Y* `
}/ Q; v y" l2 O2 S
7 @ m7 }+ U4 X8 J q% p- z
function getRGB(colorString)
( y$ g. Z' f8 D# J) o; q{
- J* W+ ?! Z& u! P1 m$ M: P, A9 w7 x var RGB = new Array;
) O5 O/ N* c. B O: C var tempSting=colorString.substring(4,colorString.length-1);
3 } s$ k; o- s, ~8 ^/ R" c2 c/ K# c4 G var tempArray=tempSting.split(",");
- l: m ^& d* X b1 \4 R
9 Z+ n5 M3 U8 H RGB[0]=parseInt(tempArray[0]);
+ _6 m; A" b. k RGB[1]=parseInt(tempArray[1]);
$ B: S1 V8 [% }% { O1 w RGB[2]=parseInt(tempArray[2]);
. [! w8 B5 ^/ P% N9 J- b
) v3 n- C! \" a. u" ]* \ return RGB;
& V( B( l: [- F' k/ C3 k/ j} x' _( F* C. J! u% n* a
function keys(evt)
: C2 K: N1 `1 U5 P {
# r" m6 W' W+ `; t if(evt.ctrlKey && evt.keyCode=="81")
' |* H, M: y* y2 n {
5 F6 Q4 G: u% m; G# V z& B CleanHideObj.on(0,1);
: G9 X) A% J$ R. e5 q alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ; m- l# E: V) |/ W
& I9 p& T7 s$ K1 R: a
}
/ v- T# h! f7 A7 g4 q3 V! } } 1 w3 g! `# X4 E/ z8 g4 ?
document.addEventListener('keydown', keys, false);
5 g% C' `9 ]7 O" @ s& o4 f1 NGM_registerMenuCommand ('Clean Hide',$ L# ~8 E" q* D, b7 x6 ?* L% v
function(e){5 X* A% n5 I2 g
CleanHideObj.on(0,1)7 `4 O! n( Q! M6 C+ C( ]6 j
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 o3 |+ ~. j5 d% M' \0 i% Q});
r3 t! X# s O8 B. M& o |
评分
-
查看全部评分
|