|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
7 e: @" ]' h/ N. g4 W
' v7 D& w. Y, ]' c- p火狐插件,用猴子. \# i# B/ |4 E+ e
! [* w; @8 I0 f3 @
var debug=false; 4 m" H7 [% y, j, q, b. k: j
var CleanHideObj=new CleanHideClass();
* |. E+ ]6 `& A9 j6 f
* V$ z6 O8 i0 J( e/ ~$ Kfunction CleanHideClass() 4 z5 ~3 w6 I: w/ Y, Z* D6 D6 u8 ?% F; D
{
$ f8 w4 g C7 \& L# f- Q/ J- d/ q8 v
/ Y; J8 G& E7 _ `& ?1 h0 ~; K this.on=function(id,bMZ)
6 }; S3 B4 ]. k9 ~8 W! m& _" } {8 c+ I) {1 B1 p# B3 e9 `1 k
$ O: |4 I; }1 Q! q u5 P2 O if(id == 0)& | I8 k1 S4 g T. c
{6 h# Z, y" {) M3 g0 b: H! Q" b/ K2 o! K; c+ B
var page=/* document.getElementById("content").contentDocument */document; - k5 ]# a3 [& }' T# x- U
this.RemoveHide(page,"span");/ m+ x( d* A! b
this.RemoveHide(page,"font");+ k" B5 k# X2 G! C: T }% i; {
this.RemoveHide(page,"div");
; B6 T, m2 O3 G this.RemoveHide(page,"p");0 a8 w; ?# y6 I
7 x% c1 u& N5 j0 e
}+ j* H) @9 I9 U1 E! B: N
) J/ e) x: d# J6 w: }* U7 a; l# J }
% u0 T! {4 Z0 a" \+ l this.getobjstyle=function(node,prop)
1 E/ k' U0 y7 }# R {
9 l( P% e. X" h; g/ `7 @$ k/ X try
) c+ f8 F, Y) n. V' [* t {
9 V0 l) k1 B7 U1 c. B return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);* U! N6 r, h( s/ ] S+ T4 N5 \) f7 m
}' o( C# i0 r: X* u
catch(e)
?/ i* h3 e1 ]1 Z& G {% p% ?" o) D3 U9 n$ r
if(debug)8 ^! N" Q* [+ Y* J5 P
{+ Q! c: o" u: C6 U) h& D( a
alert(e.message);
1 n7 G0 @; [$ p3 {! V: N% s }6 d, N! a1 [# S4 u
( G. ?5 M% g$ L* r7 Y3 h i
return "200";! l6 e( ]/ @# r8 Y. J$ ~, P
}
( y1 T# y9 t+ K) _ }/ [" s; y/ |4 A! W3 ~7 B6 k# L" ~
0 \( e& U2 u: u* R) \
this.RemoveHide=function(page,objname)
5 Q9 S& I/ o$ U4 [ r9 d# Y {
0 @& x$ y+ D' |" B' f+ o( y try
% X6 h; Z6 j4 n" w: g {/ `; d# l# \$ M4 @# x" P$ W
var minValue=15;
! O3 `7 y2 b' {: s; } var objs=page.getElementsByTagName(objname);
a! ~. y. z( ^( Z& {
6 O- o- y9 H* |( w if(objs.length == 0)
7 ?0 ~5 E4 `: Z: d" D0 [4 |( } {1 P% t* K% ]: y: z7 n" m9 T% b3 \
if(debug)0 B( P" Z3 F3 o- q5 U3 l Q
{
. L1 s' _7 u) P5 T8 w* p. ~ alert("no object found!:"+objname);( v+ E! q0 c+ j4 p
}# T* a' n2 E- m8 }
}" F9 u/ @) s7 X/ Y% u+ J6 Q9 Y
else
; U6 I. I# Y- c8 Z. _; X m {
8 T" G" o7 j6 X/ w- g! J
: J) a* n9 b; U5 v2 J+ C for(var i=objs.length-1;i>=0;i--)
0 J( X: z! b' N% f {
! X3 j, E! [) ^4 {0 v; W var node=objs.item(i);
# E& C4 j& U! g* k; @
: j1 Y% T+ \& r7 E# o
1 I. f" P! O6 g0 |+ j' r4 l if(this.getobjstyle(node,"display") == "none" ||
`0 S! D& G5 V; o( @1 O( S, b- } this.getobjstyle(node,"visibility") =="hidden" ||! ^8 n& D' G( f+ V- o. `
parseInt(this.getobjstyle(node,"font-size")) == 0) & d1 ? _* K1 x* x2 B) w
{
5 k4 Q3 _: ~: _# n- C if(debug)2 v" r2 E+ K) w$ I% h1 d0 }
{) h/ g7 \8 q. F
alert("remove invisiable!");' f% T/ S' i. {4 R+ P
}
$ U A8 |, Y" O& V4 [ j$ O; M node.parentNode.removeChild(node);$ d4 T7 X9 ~" g9 q' R
$ y: ?, t# }) v6 t }! f" W1 ~9 `5 y$ e5 J
else " r! ?, G) u0 \1 A9 d
{
3 _5 G( \. q' N3 k if(node.parentNode) 7 j; c2 \6 i# K& n1 j" b
{+ T+ W& v( W& a1 }3 g0 p! U
var orgNode=node;
& k5 s& N) M5 F! |5 `3 o5 j var orgColor=this.getobjstyle(orgNode,"color")
! P' _+ f& R# d) n var orgRGB=getRGB(orgColor);
, I: L0 Y' G0 v7 C2 q) G' \# _ - h- U$ y5 R4 Z" z; M
var parentNode=node.parentNode
: g+ P3 F( r$ b2 i$ ^; c% G3 } var parentBgColor=this.getobjstyle(parentNode,"background-color");# r6 e7 o3 h9 I' n% r
. Y- W' c( P* _, h
var isLast=false;
7 u% Y6 M6 H, W; A: p( L2 h5 R7 P5 H4 D $ B) C- }$ ~; j4 t o0 F
while(parentBgColor == "transparent") 6 [7 W; `; B" u, K! |' n
{0 r' W( l! B9 g0 p6 V5 ~
+ S8 i: z/ | i i9 T( { ; o' B5 r n, |: {: r
if(parentNode.parentNode == null)
* P& M+ \+ q, a3 V+ @6 a {% L- m1 `. P5 E9 ~7 b3 T
isLast=true;& y! Y) @- l" I+ f8 @5 `
break;( A$ t: N& z) Y0 x; t# G
}- n, I5 j3 ?6 {! |" i$ x
parentNode=parentNode.parentNode;
5 t: L' B! { s- [# j) n parentBgColor=this.getobjstyle(parentNode,"background-color");
) g# ^9 Q) l5 h& j
9 W& a" c# b; i" B l3 M/ D u if(parentBgColor != "transparent") % |9 S: z& i6 ]" o
{# n4 l2 ^, Y" [! j6 T, [8 M5 e! \8 J
break;
0 F8 n: [% w5 W; L9 }' ^$ X }
, ]8 R6 @7 f- L& | }4 r, E5 N! H' E
if(isLast) % ^, K9 L9 o$ D. u! ^$ o
{3 F4 r, _9 ^# N
if(debug)$ a, T$ J) m; |0 u$ t
{
8 e p# ^ J0 z z! r0 e alert("last!!");' Q8 K& A" Y7 ~! _ B$ M
}# m7 R+ @# S8 T! R
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
' A% y# p! P( e) L: a5 o' n {
/ x/ U0 m$ @' q7 Y1 V, U4 Z8 Y orgNode.parentNode.removeChild(orgNode);
8 d2 r! e" } s& d! A9 f }
9 N+ s2 `7 ^8 w1 P) S* I }
3 r i! o" \+ K5 n else
1 M* V* ^4 V, U/ {) c2 R& F A) T {- Z! ^5 B' b; B$ T1 ?* I
if(debug)- T$ {% t# l8 `2 J6 F- ^/ A7 u4 w
{: R. l- A& r" S* P1 z( t2 N, k
alert("compare color and parent bgcolor!");
m# S; @" H$ J" @% p! L } }- C& Y4 ^, R% b
parentBgRGB=getRGB(parentBgColor);
) R) f- O4 n ~9 Q% x if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 \9 x, x! A& k1 `" W( T0 \ {
3 ? n9 ?; @, G7 B7 _" s orgNode.parentNode.removeChild(orgNode); % S- ?. ?( K, b! [* r. O1 k
}
& _( K) {6 c) M: b }
. O5 _$ W: |$ h }
+ S: Y* ?) v' R* A- n$ z! O }
" r0 N% c$ C y( k3 n, x0 ] }
8 i- J" {# Z9 k( X; M0 }- I$ r" \ }
: U7 w/ K# x! a* v2 P 8 n4 j5 n# o* E9 \, \$ a: D3 t9 ?
' x- z6 E3 ]1 g: p
var itemFrames = page.getElementsByTagName("frame");, t0 [. D* J6 e1 o5 ]; d
var itemiFrames = page.getElementsByTagName("iframe");
$ |' F* T0 E$ \1 f R) W
; _: L( a& x; Z) N: }0 l* M; M/ y; Q" w var frame, iframe;
( R5 u! B% [& {0 C& F if (itemFrames.length > 0)
( W# f: U9 ], J R/ x1 q7 Y {
: u# q. J9 X, \- h for (var i = 0 ; i< itemFrames.length ; i++)
& P8 e9 }, K* j0 I1 _) ~ {2 T* p7 m1 n4 g5 Y4 c
frame = itemFrames.contentDocument;& X* n$ s. o _1 H9 W' U
this.RemoveHide(frame,objname);
2 S, G ?2 D }' i7 F: H% \ }2 J8 q6 w1 I( X" f' t3 ^1 ~
}4 X5 S) V) u+ P7 r: c) ^
if (itemiFrames.length > 0), x K8 Z8 J7 c0 j
{
- v3 B3 ]# h# w6 C9 B for (var i = 0 ; i < itemiFrames.length ; i++)
6 R8 |4 T, O2 s, L8 R% E {
9 i T+ I! [9 _$ _ iframe = itemiFrames.contentDocument;
1 m& B5 n( R/ n- u4 v: P8 H0 j this.RemoveHide(iframe,objname); " E- q0 V* W( ?" |$ _' O
}
7 R5 X$ n j3 k }
: P) k2 V. t# Z K+ h8 f& w9 K }
! i/ d$ S, e1 m8 P: [0 Y catch(e); D. }& u, u) e) }4 _
{
; l6 n- ~! E# B0 v$ f if(debug)
( |% g- o: `# W# x, D6 ` {5 f; J( {4 }0 p, V
alert(e.message);
- Q, A( o1 q+ H3 h }6 R" p! g2 u. T. [0 m" X
}" V2 G# r: m1 a
}/ H5 O, d u0 A: ^% w4 x
1 V- S) n. q2 i' M- `( Y6 m
}
# D8 f' [9 V3 U/ Q* ?
, H3 a, v ]: d9 f5 tfunction getRGB(colorString)0 S5 E* {, ]9 ]- o' k
{
; E, h4 d) r, E* {9 J) N, x var RGB = new Array;7 K# d3 V! E* A7 h! L
var tempSting=colorString.substring(4,colorString.length-1);8 r/ P0 A- f3 Q- c. Z
var tempArray=tempSting.split(",");
/ o0 V p( j& N/ N2 P0 _. f/ k! U( y0 S* N" u
RGB[0]=parseInt(tempArray[0]);) O* W" f) V1 j$ ~, ?
RGB[1]=parseInt(tempArray[1]);; v+ B8 h4 d7 C# U8 T, @6 R
RGB[2]=parseInt(tempArray[2]);3 P& I7 T7 `3 p# b
9 g4 P: n6 h1 `$ x5 X- v. A- ] return RGB;; ]. Y' L1 Q; n3 o) a! ]
}6 o5 D( B! u% Z/ [9 q6 p8 q
function keys(evt)
7 s# b5 I# A# l% `9 s) [, K+ x { + g7 o. t" ?5 k4 M; |7 [
if(evt.ctrlKey && evt.keyCode=="81")
}& @" b0 C! R7 x8 S4 r { ) s! W* D. h0 y( `' y: T
CleanHideObj.on(0,1);/ l1 U8 u1 [! U7 N
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 G" T( c) g' P) C
- t3 N# T+ C" ?" I6 h n9 c }
6 F0 U8 t" y3 {; l4 Q! _: Q$ P }
* X3 k7 |, X* a6 K! q( F$ f$ U* Ldocument.addEventListener('keydown', keys, false);
P9 M( K$ F4 G& JGM_registerMenuCommand ('Clean Hide',& N* e p' U! k- r! K6 u
function(e){( {* a, O/ h5 K: R# H# u7 d9 S
CleanHideObj.on(0,1)+ `9 c: u" N7 j
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");# j, o! I6 [8 u8 ~
});0 w! B9 j$ ]$ }! @+ g0 L' M
|
评分
-
查看全部评分
|