|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
, f5 _8 b" Z! H" P3 L* a7 ]$ q- [' @4 o
火狐插件,用猴子) r1 B' v+ H; q. o6 z3 o
) K+ J" |5 C! d' V: t
var debug=false;
- o" @: V P) E% J& T8 n; {var CleanHideObj=new CleanHideClass();
# n; s, n1 [9 \$ w( V1 {+ C6 u- e
/ m0 e; W J+ o3 w0 v3 U4 mfunction CleanHideClass()
* |8 \9 _+ n: B. k# h{
! |% I) y; |( e B6 s/ c % ?' U% N% n& z: C
this.on=function(id,bMZ)
' x0 ~* P; P& m) S% V6 h {0 \. a/ t( c- i( v
' D1 |3 a( ?" y0 ~0 n) c
if(id == 0): C3 j3 V+ ?* u9 g$ R
{- K: k. t% m5 T: M6 P) I$ P6 w! `
var page=/* document.getElementById("content").contentDocument */document; * f% l( l: r4 x( |/ H$ ?8 Y5 x
this.RemoveHide(page,"span");* j' h# V7 k# @# E z7 I0 a9 `/ n
this.RemoveHide(page,"font");4 b. ]+ y" c2 M- h2 T$ w: F+ Z
this.RemoveHide(page,"div");) S( S7 y$ A; d# z: R. A0 i! }) z
this.RemoveHide(page,"p");3 q; E) z" }( U
8 m k* ^% \; I& Z }
# o0 b I+ `: _: ~! o" O ) W9 d' V- n+ \1 X- s
}
; C; t, q* B+ \5 L this.getobjstyle=function(node,prop)# V* m& i) Q0 c, A* @/ g
{
6 n. v( m$ }4 O, r7 W2 t9 E try$ Y5 W+ a, D$ O( C- O
{
n1 G* {. l( G return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 I) h- r/ J ?8 d. K
}
D7 d- n* r @% U: Y catch(e)+ O+ i+ a5 D$ a: N4 \# n8 I$ b
{
! `# k; I `! A( {" g if(debug)
+ J) `) U/ {# A {# t. k9 j5 I# m
alert(e.message);
% c" f& }6 J/ x0 N" E9 ~ }
$ g4 `' Y( S% s & l4 \" K3 }% ~6 `& |1 ^7 h
return "200";" }% M! p) w t& d" W# f
}! J& q1 P |; z6 [
}
" }: f2 X- K8 _4 \7 c
+ ?% [" z3 ?" Y( ~: }) @4 j this.RemoveHide=function(page,objname), W4 ]# c1 N! f7 y$ r
{2 s1 m+ e4 ]- [6 {' D. Y% H
try" P+ t9 P( f4 Q9 L
{
+ ? e' t$ o- u& g8 U7 D3 v4 B1 c* s5 @ var minValue=15;1 l# u; M5 E: D% N+ Z
var objs=page.getElementsByTagName(objname); 5 A+ @4 s1 O' ~' w3 O3 k9 F
4 z3 g1 v0 ?2 Q+ g7 {% v( g# S if(objs.length == 0) 4 \% X+ V) M) d7 p# N# G- q
{
9 o# Q' i7 F7 U! u4 n if(debug)
% {% `+ {8 \" M. T$ n" v' ?8 U {
9 l ]' E+ N9 G" K1 v! X: h; L alert("no object found!:"+objname);* q' {3 v/ i6 A. y0 ]
}
, `% w3 H1 u S+ I$ e+ H }
+ l( w, T+ S6 ]6 [ else
0 W6 p% R" W1 W: K* d9 ]) {# l+ F; D {! a( a( s3 c0 X) o
9 l/ e, f I) O
for(var i=objs.length-1;i>=0;i--)
m3 K" Q. e, D" l6 o {
' ~7 w5 d L# V T5 ~3 E9 X$ x D3 y var node=objs.item(i);
9 K0 _; H3 J/ V- }2 \. ^2 x S& R 6 D. a: e; @ f0 v( e5 d& ]
0 |- j4 `/ h3 Z8 J2 @. s# d) R
if(this.getobjstyle(node,"display") == "none" ||
$ \8 ?" W" k& }5 a this.getobjstyle(node,"visibility") =="hidden" ||
& C6 }- A9 u2 r parseInt(this.getobjstyle(node,"font-size")) == 0)
- Z" T- I/ g ]2 S* I% \" { {; G( }: K" O9 U6 P1 y
if(debug)
, z, V' U0 _3 o0 i) w9 r1 s {; U1 t% x2 l6 f; y/ z
alert("remove invisiable!");
& o4 U+ }8 @& [+ u. O }8 r3 W d) Y; s: U; F/ A
node.parentNode.removeChild(node);
1 P1 E2 u( [; s5 K8 Z' b
* D3 f2 A" D: Q, e6 G! v1 T }
: t0 B1 F% y- Q( G1 _, g& f/ g$ G else ' z1 {3 ^1 j* W( v& P; u
{9 b9 Q. l3 L" P; ~% x! P
if(node.parentNode)
* ^7 y+ o2 t0 G {9 m% _$ u( m* D
var orgNode=node;# V( K$ c" n# |: \. e5 [5 j5 L
var orgColor=this.getobjstyle(orgNode,"color")
4 D# v. g$ s7 c* [4 M9 X* F var orgRGB=getRGB(orgColor);
2 f1 T1 z9 \7 [$ _; i% r
9 C3 w: Z6 T) M; {! u var parentNode=node.parentNode+ }; I1 a- ^2 L. _. y
var parentBgColor=this.getobjstyle(parentNode,"background-color");- D" k0 X- c' S9 Z' D c0 v% s
3 }4 d; B- ?" m3 v2 T8 X" _$ ?
var isLast=false;
7 A( P- x$ [; G, P
2 i/ b" E: ~' a) _; \4 { p while(parentBgColor == "transparent") ; t3 M2 Q+ ?; r0 f! `1 q
{
/ G/ x- A' l+ E! U 2 F" b6 K! P! ?8 u
; B; V1 F6 l2 O' C2 r( q7 |
if(parentNode.parentNode == null)6 F* X( j0 \$ B( h
{, q+ w4 @0 p' s2 \# k- r
isLast=true;
/ |! v9 o' W% R, [/ d# { break;: a h; P% t# E& ~+ C
}
# X4 X7 d' d+ ~* u2 i$ K2 c5 V( O parentNode=parentNode.parentNode;
- ?- e0 P' N9 ^& `6 W parentBgColor=this.getobjstyle(parentNode,"background-color");) k3 |8 D L ]" ]
( f" [- b& m/ {: V3 g6 s2 e
if(parentBgColor != "transparent")
1 M& U4 W7 x! B: h( g {% [, C3 C4 W2 T: X" S8 ?: n+ g3 a
break;/ q& t, V1 t4 f+ B X% L4 K
}
/ T w' @+ k+ @' N" ?+ g }
1 T1 D M8 p+ t' B if(isLast)
4 P( @9 B% a6 l: P; d/ l {
/ P( }' S6 ~- \7 u' E, L& W: T if(debug)0 C2 A) I7 D; ` Y
{
: m; n( K* j1 C, O alert("last!!");. ]5 \/ G; S! a5 f( ^ R
}
+ ^7 Q+ Z9 A# o+ G4 z if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)) ]6 p9 O$ W' T! ]
{
, |' J, B, ?7 P9 u _) M [ orgNode.parentNode.removeChild(orgNode); - q; J8 H5 s/ P
}
, ^8 D- F% N4 ]: ~ }/ v$ i7 M- u" w/ Q
else/ l* x% E; a% A4 P7 k
{8 \0 Z) P! l u; l: }
if(debug)
9 z$ K1 ]1 I% p' u8 Z+ | {
$ b" u5 C! P+ A, \" D alert("compare color and parent bgcolor!");
6 G) S/ j" C$ t( {6 R }' x& S/ J6 V3 S) D7 u0 h
parentBgRGB=getRGB(parentBgColor);
/ o( i4 ?6 s: W/ q if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
z' k% F, r, r {
5 Q8 X9 t% _( s" B orgNode.parentNode.removeChild(orgNode); " E# N6 q! ?; [% o
}" L$ K$ {8 L T- I* ^
}
" n0 D) a0 U6 V6 c: D3 W& h$ E }
2 @ U; M+ @! {' [+ F }& H8 l1 M% {+ c. h5 \8 L! M9 K. y" {
}
. X8 R) E/ r: k* B$ B# y }
* O/ h* N- s6 c- w
; V: V3 N, _: Z% j+ [& |
! o9 n& S; K, G8 { f2 V var itemFrames = page.getElementsByTagName("frame");
! ]9 X6 |: |6 d. k! ~ var itemiFrames = page.getElementsByTagName("iframe");
* g0 `% ]1 B3 h6 `+ g d8 D
4 @. \3 z+ b2 b( B) I7 v var frame, iframe;. v9 K0 m# M$ ^5 \* B, |# p
if (itemFrames.length > 0)7 M8 E9 a) C9 M' C) E6 g2 R/ N
{ _* S$ T9 d/ x
for (var i = 0 ; i< itemFrames.length ; i++)
7 J1 g3 J- h* K; @0 g; i8 H {+ B$ a! }& m3 G9 g5 P
frame = itemFrames.contentDocument;
4 L$ z7 a% N: e! A- a. J% b this.RemoveHide(frame,objname);
4 w+ C a/ g0 Q/ z, n6 Z. [( o- H* H }
6 g# j9 X: W0 _$ H W }$ q N' W u. O9 N" X" g/ e
if (itemiFrames.length > 0)" e& t8 T: C9 f O( E# ]
{* r, T$ } r. L6 |
for (var i = 0 ; i < itemiFrames.length ; i++)
' r' M# G& s; [1 I0 m {3 b( _% }) K, z" [ }) l
iframe = itemiFrames.contentDocument;' a% S1 f; f2 D4 W9 N
this.RemoveHide(iframe,objname);
& N% Q Y6 m% d2 W2 k2 | }
' Y! ?7 J, K+ p+ u; J }2 X5 a7 |7 [1 J# d( A3 d
}6 i3 s1 M& p. \1 ] E
catch(e)5 X( j2 w, W `' E. @
{% S* h* _- [: I% C
if(debug)
, X2 r7 k% J+ H+ {2 D/ p {
: {8 N+ M- k9 ]% b alert(e.message);
* }( C5 {/ k C: H }
3 o' @: v. o) i }: _* h" R) E- O" A1 \8 w
}
. ?" ?9 I% y7 Z7 `7 S! _4 _
8 a* {: T$ {0 Z/ F}$ c% q! l; e2 M/ j, U
8 g' Z' c! h! b+ L) [
function getRGB(colorString)
+ E6 @$ V! j, A; l/ H. c0 x" a{0 K2 S v2 U, \' t# K$ V
var RGB = new Array;. k& j7 a4 k( {! ]% i `0 V
var tempSting=colorString.substring(4,colorString.length-1);
0 B C! X# V* j/ m' K var tempArray=tempSting.split(",");
3 B4 C- }7 Y* O0 @% n1 W
; F5 L* d% X) z. W$ \# B9 S RGB[0]=parseInt(tempArray[0]);! q( M( O' U" R6 Z* ?1 ~
RGB[1]=parseInt(tempArray[1]);
6 ~: H# H$ \4 X RGB[2]=parseInt(tempArray[2]);
' k2 j4 @1 \5 d* {. ~$ s8 \ 4 Q' F6 o3 u; e4 v
return RGB;
" n3 s- M! @7 R. `}) x- r4 U1 _. U+ p) {1 @, E
function keys(evt) # Y T& H" b: s/ _
{
1 c L) m M4 y8 l if(evt.ctrlKey && evt.keyCode=="81")
" m# y- _, Q$ x { / K5 ^! L2 w2 W
CleanHideObj.on(0,1);1 H+ b4 Z0 s: Y5 z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 ]+ [0 ]" N# t9 \8 z x6 x
. Z; U$ k9 l0 } }
$ p/ S' R1 D1 T% v( ?& n% m' @% ]: e }
3 Y* c4 X5 O5 edocument.addEventListener('keydown', keys, false);
0 e, c& S) j! wGM_registerMenuCommand ('Clean Hide',5 E" c0 }; B! w/ v8 Y1 G
function(e){
. U$ D/ N, P6 ?, R9 _2 JCleanHideObj.on(0,1): S0 I7 C" }3 `/ l2 e& y0 j* j8 Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' i) x+ T' d! G1 F8 _- K& N; K});
# X( H- r4 ]- C; c |
评分
-
查看全部评分
|