|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* c/ v5 h5 K* p. u$ q
3 V7 a8 n: {5 w# R- C" p火狐插件,用猴子- i0 H. Q& ~3 p9 i# y, K6 m# ^' d
8 a4 v( U m: v; f6 Z' Q
var debug=false; 0 ^6 n$ l) {% z, o( }* N3 S" u
var CleanHideObj=new CleanHideClass();
4 ]. B; ?; a( R# p' R K: f
. s1 a- a( ~# |0 g9 @/ D7 {function CleanHideClass()
8 i0 u- k0 J5 U+ ~. V{ 5 n7 g) ]9 W$ `/ E8 ?# x
7 T9 t0 d7 H' Y. S* ]0 b
this.on=function(id,bMZ)9 R' ^3 k4 u) \9 w$ b1 m
{
$ }6 X, \$ g( R n + s0 B; t3 k. G3 Z
if(id == 0)
5 Q2 I7 C4 E3 h; x+ [% I {" m2 x2 @% [4 x1 ]
var page=/* document.getElementById("content").contentDocument */document;
6 B0 u( s& o+ |! |! A* z this.RemoveHide(page,"span");
! J' a" X+ ^+ V' @4 a4 { w this.RemoveHide(page,"font");
$ ?6 u' e) F, U% b* Z this.RemoveHide(page,"div");
% Q* _$ S, k: [; i2 M( R this.RemoveHide(page,"p");! s, N9 h3 w- L, H6 Z& J) @- }
: k( W0 @. O; q p6 k
}( ?9 h& g# d s
/ K8 r: g$ S0 _ }
9 y# l! [$ O2 g9 B/ k" n! p this.getobjstyle=function(node,prop)
. p- m: g7 W! f {
6 J* V, l2 E0 I% s. b5 j+ j( A1 Y A try
! i3 M8 L/ _, i5 h4 \ {7 f: ? V0 s, `% u. l
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);6 S8 S6 L+ D/ Y; y6 n# G5 p) u3 V
}' E& I p! L) E" J6 C
catch(e)1 [+ J3 S, @* i
{
* O: |' V. N6 X4 @ if(debug)- H& k4 h; A; {% Y4 X% ^
{9 K2 [% {; t, N3 H9 X6 F
alert(e.message);
0 v- ~8 ]- I6 l }
1 q/ C; z) S6 C) c & _8 O( @9 E- s" I8 D; d
return "200";
- y0 P2 b5 ]/ F; ~4 d/ O5 Q }
* q6 N5 {: n6 x1 c1 d }9 v0 {, W& P+ }1 [
! G* N% U$ C: ?2 W/ M
this.RemoveHide=function(page,objname)
& x7 a, _" E$ y( P' i# c {
& B: T! Z* G) M: ] try; J5 n6 B4 R2 t8 q/ @7 s
{
# q8 Y8 K$ z+ Q var minValue=15;
2 i) L, Y" w b+ c var objs=page.getElementsByTagName(objname);
e; e2 h2 q0 E+ `1 K( [3 B1 ~" G6 R' n# A/ D+ o% Y2 D5 B" z# J- b
if(objs.length == 0)
4 T7 {5 p6 w" b- w$ @/ O6 {! T {
! r) [$ ?; W1 J R if(debug): A0 c1 m1 h: A4 k% _+ W8 t
{
' L6 C2 w8 ?* `: A alert("no object found!:"+objname);
N3 \& d4 x2 J1 y2 P# C3 L( b }
7 J+ L. e# h) F% u% Q# r }$ Y% i* I3 c0 R' _: m
else
9 _* m5 \! q3 c9 l {
" i! a2 i4 S0 K8 d
2 Z+ G3 K7 E7 o( b9 Z# c0 H for(var i=objs.length-1;i>=0;i--)
6 I) ~( W4 z# {5 D2 i {6 G& r/ F; y: Y
var node=objs.item(i); ; U: U/ c& x. V5 `# O F; G( T
- A0 g& @ @6 s: c* x5 T/ c$ |
6 }6 v- |6 h3 A. H2 _- C# d
if(this.getobjstyle(node,"display") == "none" ||
6 {, s# R& E# v i this.getobjstyle(node,"visibility") =="hidden" || d5 C2 c) Q# ]+ l$ e+ [! c
parseInt(this.getobjstyle(node,"font-size")) == 0)
' E) O+ g& q5 I! o0 k" ]* _" V {7 B5 i% W6 o% k) L8 W3 I$ [& r
if(debug)
' u$ R7 E0 p+ Q4 u2 ~: ^ {6 w$ X; a0 H0 _
alert("remove invisiable!");
3 Q+ N2 k5 }' ~- n2 u4 P }6 A% t% u' K( C- `+ K$ s( F+ U
node.parentNode.removeChild(node);. \" N5 p6 V/ j, b: A# u# e
/ g8 N; }" d2 R: t
}0 [% P \+ R' R: d; i$ @& Q
else : G7 g0 y: G- n
{
5 _' t9 u1 o% x; J if(node.parentNode) 5 l, S1 n" } R0 o8 X
{
" x3 Z0 O2 V7 {% @9 m var orgNode=node;
" | y! t3 G, c& m var orgColor=this.getobjstyle(orgNode,"color")
% m' ?; }; n% J" k+ K! Q var orgRGB=getRGB(orgColor); 5 X0 l4 S0 C" H, H
, v. g3 s, z5 q' V! D- Q var parentNode=node.parentNode9 v( h5 U; t7 H# F$ y0 O
var parentBgColor=this.getobjstyle(parentNode,"background-color");
R# l0 @% T( C0 @: ~1 t! H 9 \; U: @* I, n) w9 h: E, v* e
var isLast=false;# w; d$ D- l6 H& o& d
# ? r, i, L9 G0 h1 |+ e
while(parentBgColor == "transparent")
& D0 R* Q. G* f {% J4 U/ A9 k( |1 Z5 A- Q6 f6 k
6 Q! F3 S2 P3 a% D {
- e# b3 Z; W- I! t m if(parentNode.parentNode == null)0 ?: H$ _. l4 w
{" v$ t6 `# A. K" ]0 O. y
isLast=true;
! G `9 N9 J1 y0 ~( D- n3 c& K break;
4 {' g7 W+ K0 P } ]$ o- z0 F- Y6 Z! o! m& K# I
parentNode=parentNode.parentNode;) Z5 D1 Z" i1 S/ Q7 V; ^) W" {6 s0 ~) W
parentBgColor=this.getobjstyle(parentNode,"background-color");
! Z0 o: y/ ]% z! ^9 G: m" e: s) l' g+ X, u# h
if(parentBgColor != "transparent") 0 C! e8 D# Y5 i4 ^: [1 |1 y
{' h/ @& a; s. ]) t8 w
break;) a: R- ?/ b5 m3 a2 n; t+ G2 g
}
" h3 f( E7 P/ ?9 n/ H }. y( r( F$ z1 h, u2 B
if(isLast)
- l1 k0 m% ]5 \2 S! _ {
4 G( p! \6 c# k! w2 P if(debug)1 x. i" C* }4 x9 V: D2 d+ }
{
" o4 O7 I8 O% v alert("last!!");8 _+ F2 M: f/ _; u' u% K! j0 v+ p
}
" ]; ]- x/ M" V+ F, p if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ j7 W7 B2 z( V9 P% K" V {
G8 e9 ~: I Y6 y3 g orgNode.parentNode.removeChild(orgNode); # E! E! f* x, n3 U6 c
}
4 P- [. j7 x! _: M( K }
F1 g/ F" r* h: |. z else
5 D1 @5 f; m9 M$ W+ X {$ K' B. R- A& ` ?. _% S+ n `
if(debug)3 W ?+ B7 X" F/ l' j( C
{8 J$ m; \: A% q6 f' K9 N
alert("compare color and parent bgcolor!");) o5 E& A" @) l( q9 W: E' X
}$ c+ c& m% }$ I3 Z
parentBgRGB=getRGB(parentBgColor);
v- Q( n7 }6 P if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))7 x; Q1 |$ @ K# U& r5 b& i
{& b- k) D- @/ ^. O" U$ T2 k
orgNode.parentNode.removeChild(orgNode);
+ Y: V& z4 v! ]* G! u% h- B9 c! ~ }
7 l, v6 C) ]1 Z* E( @: } }/ Z( |# O p) }! N. _; H$ C
}& U! D7 B7 ?6 V$ {7 \9 W
}! Q2 {/ k( U7 n+ u1 o
}
" E( f' M% A+ h6 V" X* i6 K" f, O }
1 T. V( y. Y. r% C4 c% o / i: d" U& S2 u, z3 \9 N( A5 a8 R
3 Z0 B5 n7 h3 E8 A4 a: f* r- [ var itemFrames = page.getElementsByTagName("frame");! |, Y- q2 I" p4 E! X$ d" y
var itemiFrames = page.getElementsByTagName("iframe");5 d5 H7 X G& I; O1 J6 e$ g
/ W3 a5 |9 h s1 o- _6 E( E
var frame, iframe; h6 e- o- O% E/ g1 u) M
if (itemFrames.length > 0): t- ^$ n8 D' o1 Z: b
{' D6 v" [/ p+ |- @' h
for (var i = 0 ; i< itemFrames.length ; i++)
' M' z& p4 ^1 O& x% ^7 ` {
. f2 L, Q; k: K/ f frame = itemFrames.contentDocument;
: P/ ~) m; ^/ h3 }9 s1 C this.RemoveHide(frame,objname);
4 g' p* D* M5 G8 m }/ |1 M1 @5 w' ~2 N
}! a/ O) f& c9 W3 s; M+ ~
if (itemiFrames.length > 0)3 w$ n6 q) c* z7 J9 m4 e' k+ c
{
1 w, u: i! T& y" C for (var i = 0 ; i < itemiFrames.length ; i++)
! P4 X8 }4 r& ?/ p9 C& W5 O& f; R {3 `' n3 W: T2 t) `6 u
iframe = itemiFrames.contentDocument; n, r2 X% Y7 |+ r" C1 o
this.RemoveHide(iframe,objname); " K( q! E( G1 A
}1 t/ \4 m7 g/ B# j7 ~" l0 `2 H+ s) l
}. _2 ]7 n. r+ n
}
! y* `% c2 u7 c+ z, M catch(e)2 k4 x7 \: r: t# w
{+ x3 N( g5 l% g& t3 h0 ?( g
if(debug)
' s0 w. ]( F) q" p3 O& U {# e$ @# [, A3 X# \$ Z( L/ ]' F8 V; M
alert(e.message);+ q& {/ E7 Z7 z
}; J3 z. ^- ^( y/ u( r
}+ ?# d+ V7 M' |( o& p# D( m
}7 Y/ j1 _3 h/ }3 P r0 m
4 R, n$ e& n* t7 S. s# ~* ^ H: k
}* f% m7 C8 }2 ^
! Q* r5 u1 t# V: R2 x6 pfunction getRGB(colorString)
- d9 q9 o/ Y' @; q+ _{
0 o7 \. V+ c r8 [+ H var RGB = new Array;
: o0 V2 h. H1 T" n1 K var tempSting=colorString.substring(4,colorString.length-1);- L% K- x: k& `* g
var tempArray=tempSting.split(",");$ Q T' }3 R& q3 U0 ~2 b! n3 E
8 ^9 O' {$ Y L5 H( C5 K) i
RGB[0]=parseInt(tempArray[0]);$ s2 R6 L/ B, G( p e
RGB[1]=parseInt(tempArray[1]);0 y0 G& ^2 k& H5 t }# e4 H
RGB[2]=parseInt(tempArray[2]);8 ~& h9 N; Y/ ?( X% j: Q. _
; H( u8 C1 s7 K: J1 Z' C7 D6 o return RGB;" Y' {1 ~( `0 w
}7 L# m9 V* |, z# u; r
function keys(evt) 9 [4 f( u4 w4 X' t, w% U+ x
{ & {# X$ B* ?/ o! e
if(evt.ctrlKey && evt.keyCode=="81")
3 @% B, {& Q* P4 i. B) B {
% H6 n7 R8 c; a$ w/ P$ Z, n CleanHideObj.on(0,1);. k5 g( m+ j* [0 S4 x: z& N
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, W6 g6 E- v/ S2 `; \ l* p# i2 E( Q% V
} & F+ r& j' A9 y8 J$ Y6 g
} & `0 b6 ]+ E5 j% s# _
document.addEventListener('keydown', keys, false);
2 r3 a" ]8 V/ |- d9 a: _% sGM_registerMenuCommand ('Clean Hide',
3 e5 o! @/ t9 d+ i/ U1 f3 bfunction(e){
* ~" r- Q+ P" OCleanHideObj.on(0,1)
3 S' p/ B% F# H( T/ x6 {( \alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) G5 e+ | n' _: w
});) }# f( r' r4 s3 b
|
评分
-
查看全部评分
|