|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
, X. Z. }: d5 X7 _9 r* g2 g W. F$ K
火狐插件,用猴子
' W; K* _: J) ]5 p9 s# D0 s8 l* ^2 E! L% F6 ]4 [+ t
var debug=false;
: K0 U) H1 y4 |' Cvar CleanHideObj=new CleanHideClass();
+ L- P u# o# x
% }- F3 v0 P) E( b/ dfunction CleanHideClass()
/ v$ C: m; e. B- Y" C; j# O) O; W) t{
u( d. U! \7 x6 n/ V * j7 _7 ^( M* V6 P
this.on=function(id,bMZ)8 y8 r: r2 f( h) \/ c
{0 G8 O% O; H8 ?9 ]
: \$ h: e6 d) W' ] @) C
if(id == 0)& }% h( P3 O- d& A
{0 K) G& Z& u& {+ k1 x
var page=/* document.getElementById("content").contentDocument */document; $ z; Q3 _( R" D+ O; x& ^: B
this.RemoveHide(page,"span");
( C! S' _: b8 b$ q6 M this.RemoveHide(page,"font");
- y! f+ m; J6 k9 @9 U this.RemoveHide(page,"div");0 r8 t2 g& P; z c9 r7 J
this.RemoveHide(page,"p");' ?: e& X+ H" N: r& J' Q
M' J5 s' ~8 G" U0 ], i! m } U/ @( L2 r4 g( e1 n! m3 n# o9 ~0 H
& l# T. Y. ^1 A" D' k1 t' ? }
9 x: [/ ` [! o% f* L this.getobjstyle=function(node,prop)
3 S/ G- p1 ]) J! j {
/ w$ u! g* h! a* j# k try R* ?1 K) T: N! \
{) O- g3 J) E# P
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 u( l7 t) r. c) S9 c" U
}
; O; N5 {4 p O/ S' r8 J catch(e)1 \$ q; M1 o, }2 Y
{
+ [1 x& C4 R" w1 h1 x2 y if(debug)
, R7 A! |5 D! G+ u6 E' C {0 Y7 f, o" k6 `8 h" C1 C' `
alert(e.message);; q0 G3 T* \; W! H7 v* n, j* `
}, U* K' r* r, {" \
- K( k0 x" N( i, Q4 S b! F return "200";% C$ N$ [# k% i" z% j, V7 t! E
}
/ T! F9 F) |7 m9 x }/ Q# F3 o6 K/ Y2 M$ P5 \: t
/ i. Y8 @. P! l8 g9 g
this.RemoveHide=function(page,objname)
$ h& }; J, f' V! _) f) _ {
/ S; @& s( d% u f2 P: v% R try `" j. E. R: C& ^
{
& x1 W, M8 M8 _+ ^3 G var minValue=15;9 [ W* g. H! H1 k; }" ~2 o& c
var objs=page.getElementsByTagName(objname);
# }0 Q( w+ Y i2 t5 `/ k9 y; x* P0 c2 b7 m
if(objs.length == 0) 1 F; Y0 ~' @" @' g
{
/ S# Y4 o3 ^& F9 ]" i' Y if(debug)
& _" P' E! v& u8 H {
# d: P% x, T9 \$ } alert("no object found!:"+objname);+ t% l7 k; T* y* q* l
}
& G; Z- R9 c" {4 h }* d3 f5 L/ V9 T$ Z
else+ d1 c! z, G ?/ v3 o; u
{4 l; r$ {# A" |8 x J' K% Z
3 @8 k+ q4 F- A# }( X, w
for(var i=objs.length-1;i>=0;i--)
3 T% P' I4 J9 U& T5 O {
: ?& j, U5 i4 C var node=objs.item(i); ; ]& {; } b; @0 w& |
4 T* f3 [( |; P* N + D+ v! [8 f" C2 A& W: z' Z. P1 H
if(this.getobjstyle(node,"display") == "none" ||
$ s9 Q/ h& ]8 C+ o% ` this.getobjstyle(node,"visibility") =="hidden" ||
/ |/ K3 p9 b0 G6 U parseInt(this.getobjstyle(node,"font-size")) == 0) ( w# x: U( m0 f, u- {" U
{
! e4 v+ W5 L6 U; M+ } if(debug)
2 K5 O J E/ A& v4 c {
. y. r) L8 B1 G9 I: I6 q( p* ? alert("remove invisiable!");
# z& b# ~" A5 b/ D- d1 [' |4 H }5 s! J9 p8 H' V0 S
node.parentNode.removeChild(node);
7 j" S+ x$ P3 M% ]3 g! y
- `6 H; Y7 K+ h% d5 P }% y+ g; B+ s8 g: ?* d
else " B/ v9 `: X3 I! X" y" }# C
{; g8 l, }: l/ q. K0 G8 t+ l/ q
if(node.parentNode)
/ C; Z+ O- v' n. }# d: ~+ P2 t {
y% I6 T- M2 Y& ~4 N- U- }+ L var orgNode=node;! Z8 n7 d7 B* X& J) D7 u6 D
var orgColor=this.getobjstyle(orgNode,"color")
! \) I" G' v" D1 @5 Q0 E var orgRGB=getRGB(orgColor);
! {4 D5 q8 }' I/ N
# y5 B7 w9 o/ v9 c# K+ | var parentNode=node.parentNode
* m6 U4 \( K6 P& k, p5 f' n var parentBgColor=this.getobjstyle(parentNode,"background-color");
) K. p$ X A! P; c ' i& f% N& v5 I5 ]% ]
var isLast=false;
$ _4 C; z( _+ O4 q; J3 g2 g, q ' h. d7 t$ {% Z [
while(parentBgColor == "transparent")
" E) C4 f, Z& L" t9 T! {% I {
. O3 `$ ` C4 A* H {4 W8 y }$ s! p! u9 u* G4 H \, T
: D1 k+ `( D. ~$ e) E# `! ` if(parentNode.parentNode == null)
& g+ ~ s, } s0 [; W% u {" p$ s% s4 ]- b. O
isLast=true;
' J- C: Y$ H! {+ W' Z# v* a) ]$ `; m break;2 n: I& m9 s0 |
}
! h) @9 R% l+ s) e2 I3 E% `% c/ }/ o parentNode=parentNode.parentNode;
5 U7 o4 [) T# a2 a, F, j parentBgColor=this.getobjstyle(parentNode,"background-color");
$ w, m8 }+ P5 E% K- l3 g, H G) ]7 g
if(parentBgColor != "transparent")
3 ^2 i1 A f- `% s2 \ {6 Q2 i% K$ K1 R# v
break;
5 k5 A* e; \' ?4 s }
& I4 j s5 b* c- e5 W }
; Y4 _4 G8 Z& z if(isLast) 4 T4 f5 f. S5 U7 m5 I
{
! y6 d" ?+ m. ? if(debug)
3 u! u) t( t* c9 E# j {. `( j4 X5 U8 H [2 S k$ @
alert("last!!");5 \4 p# a+ j* A5 @7 s+ ^4 p) `% ]
}* Y& [% T' n6 @8 d9 V+ G2 |
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)); ~; L: Y5 g$ n! ?" K
{
. z6 Z1 z7 J9 w) Q6 y orgNode.parentNode.removeChild(orgNode); D$ q- f3 ] T7 O" K! Z8 h3 |& w; C* X. i
}2 j r' U% [1 u, b" j' t; ^) m: h
}$ p7 Y, ]: C7 Z3 D
else6 T# i$ m8 r2 v
{
1 Q% ]. h3 i1 K7 f+ G9 O if(debug)
+ Z$ e+ P9 W" A7 M {
1 s5 a( Q3 h% S( u- x& v4 w alert("compare color and parent bgcolor!");+ z) v D' F6 N/ k1 |! M
}: i3 Z; {$ J: [- b* D
parentBgRGB=getRGB(parentBgColor);
1 d7 i7 R6 k/ l- u6 L# D if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))! `& f, s y: I9 a; y5 Y! k) F$ @
{: e& W; ~6 _1 f" e" K. U5 X, N
orgNode.parentNode.removeChild(orgNode); ' d! V( p: }" X! H( K
}2 q1 D. X# ?4 j0 ~
} L9 g O! c# C" K
}& e3 @* S; d' B# F
}2 H) y5 u5 L, Y
}
/ U% O+ |, j4 j9 ^' \7 \4 S }& @. h0 ], T6 G
! \; K x F# a% m7 [& ^- O
& p% A! L4 P G var itemFrames = page.getElementsByTagName("frame");# v& S& ^+ P4 O5 Z( F
var itemiFrames = page.getElementsByTagName("iframe");4 l. k# Y) i1 d
% |. }7 X `# N
var frame, iframe;* p4 t6 E9 v+ o6 o
if (itemFrames.length > 0)
. K! }$ B# t9 C. e/ {9 ~2 `7 u {
" j3 O5 B! u" ~3 y0 f9 }6 g for (var i = 0 ; i< itemFrames.length ; i++)
: T7 M( ^! m" K+ ~% G+ q/ u {
7 _4 r& `( b" J# \ frame = itemFrames.contentDocument;; @% D6 m7 H: B# t; n( k+ P
this.RemoveHide(frame,objname); ; i% B( u+ `4 n) }
}# {6 r, g7 `" d5 O4 p
}
9 V" F$ P. e0 X* D9 S2 t if (itemiFrames.length > 0)8 p% N# W! r7 W5 G9 @( B
{
) I$ e# M4 X6 y- N& l for (var i = 0 ; i < itemiFrames.length ; i++)
9 J- M3 {% v* F& M% d0 u2 [% e4 `0 d {
) v) r6 g( s8 n6 Q. c8 x! e iframe = itemiFrames.contentDocument;) p! o' d- p* f; a6 e
this.RemoveHide(iframe,objname); 1 G! m" o4 S9 Q; s7 n: p1 f; ^
}1 F+ `8 n# L4 R8 v
}6 t$ n1 V; L% v2 |
} d/ }! h3 O4 o6 z8 C/ ~- m
catch(e)+ s% \8 s0 c: H% `6 p
{
. M. W$ G8 B4 z7 _ if(debug)
$ ^* L& f6 a: a6 g8 N6 c) T7 [ {
1 g5 C8 m, Q" y+ d% f alert(e.message);
4 d! v* X* C; u3 U/ i3 \ }
* Z* y- O5 G+ @0 f }
6 `* h7 o8 {3 }4 x; g; j: O( E6 I }: w: c) J6 m1 E2 }
4 k3 C+ |0 T7 y1 Q$ U. } I
}
. q* u) F. s9 l9 Y) ]8 |& l: c ?/ j8 T
function getRGB(colorString)
( [6 U4 r, S3 u# o{
. U$ _- M7 T/ j var RGB = new Array;7 u: z( ]9 E, z$ S, A
var tempSting=colorString.substring(4,colorString.length-1);! E3 ~0 T* Y/ U% h' B; g( _
var tempArray=tempSting.split(",");4 G) {) V0 J4 a: @: L! A# h( P6 Y+ ?
# B8 n# h1 F" k* v5 ` RGB[0]=parseInt(tempArray[0]);
! b' j( ]( l$ Y- Q5 l J RGB[1]=parseInt(tempArray[1]);7 h3 c$ b( B$ I m# H" ?% N
RGB[2]=parseInt(tempArray[2]);) |, @# n. `3 F0 ?. s( N% D# O
- K' ]% `7 I9 Q0 s8 V' b; I! t
return RGB;
5 E0 _. d0 {/ L$ Y7 F$ R& i}
/ E& q3 d- P- b, L9 Q" L2 ufunction keys(evt)
]2 E5 D! k8 ?9 C# l { * Z' n& J2 |& ?, B( i- h
if(evt.ctrlKey && evt.keyCode=="81") 5 ^* ]! E* D# B
{
& P: g! W; \- F# j: I: P CleanHideObj.on(0,1);
8 P: m) v5 ~: _4 `4 C+ I alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
! S* a' e% S. f, q E+ C
' V" W$ j+ ~$ v( u' p3 x3 K4 H } 8 Q7 K6 U3 r- [2 G: v+ d
} ( o6 P, m, z9 I" U
document.addEventListener('keydown', keys, false);
' e4 w: @) g0 C. FGM_registerMenuCommand ('Clean Hide',
' J0 G! k, \, Ofunction(e){+ _# i/ Y: E) Q8 n- W1 G$ ]
CleanHideObj.on(0,1)6 i' B2 q @& i* P8 C6 e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");5 s& ~3 {% T r" y( x N
});2 [5 e) ]! Y* M& h: x" T, z) I4 B* E
|
评分
-
查看全部评分
|