|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , n$ |3 c/ i( u
: u: ]% h- T: V" x, }+ _- h
火狐插件,用猴子
, ^1 S0 X% u: u1 W, G8 d. `: K, c8 w8 Y. c: j& i7 V" K! C/ Y8 A# Z* Y
var debug=false; ) U! L* O% _ g8 ~) Q
var CleanHideObj=new CleanHideClass();
7 j9 G1 \* @% ^
- K1 _* H6 ^5 e* b; P8 x j, \& |function CleanHideClass()
& k# K6 i1 h# p. D% u9 _. _9 u+ y{
; t0 v% T5 D( ~
9 Y- M, f( [, X: ^9 E2 N this.on=function(id,bMZ)6 x4 y0 V, o" q& q
{! N" m' {3 _# d* ?& M3 `0 R- B: i
2 K) L/ H' L' z
if(id == 0)% ~6 @* R( ]8 Z% n1 p
{
; i- Q) t! S0 D0 l7 T3 Y9 D var page=/* document.getElementById("content").contentDocument */document; - m5 l% O/ W3 q8 }( i) a
this.RemoveHide(page,"span");- b# d4 I4 d: q$ M: w+ I
this.RemoveHide(page,"font");) I |' ?% o f& H4 h( m, p
this.RemoveHide(page,"div");* c4 M# B; B( x6 R
this.RemoveHide(page,"p");8 S* B4 I2 h# U7 v' n
' b; K- Q4 K \, r% p! ]
}
. G1 s# @: \ m: {( D% X8 M& N$ K! y3 F
* B: m4 I( v& Y+ c: E }
! M( n N/ @. H' ~4 s8 B this.getobjstyle=function(node,prop)5 L) Y* i, f1 j1 F
{- w! d1 m: v1 p
try
3 _# y" O- Y! k3 v, u) ` {
; f* I6 m. t; [6 E, h return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
/ c4 r9 { {4 f- i4 U/ L }$ e: [- m: n7 P7 N0 o
catch(e)1 T: I9 U1 F) A1 H
{
/ V. J9 ]* K8 X1 H if(debug)
" }5 K, ?9 T: Y' s$ T {2 l7 @$ W* |2 }# u2 L: V9 p4 n
alert(e.message); D3 v9 H' j* G
}8 ?; z4 d% Q; s$ |/ y( g1 ^# w$ u
/ L$ C, R- U6 O+ Z& @5 t' g9 | return "200";
- r+ u, X6 N, p3 N: B$ ]* V" \ }3 d, h# q, T/ Q: V* _, l2 l
}1 M0 ` p* C6 x
7 B' J4 q/ o& T4 C! { this.RemoveHide=function(page,objname) n* G( P [: `" O- n
{
4 d2 D! A4 O- C5 g* K% q try
( b1 E( b* |! w6 @' B" ?3 k, x {
/ k( V( |/ a" j. U1 b- ~3 ?# I& O var minValue=15;
* ]% S4 B- x* S' `5 c- l var objs=page.getElementsByTagName(objname); , r2 N7 G6 W K) o' {7 T/ o
3 b. L4 t1 O5 S, c* `6 i4 B if(objs.length == 0) 6 r7 O: t" Q$ S8 \4 ^# a3 u6 [) ?
{
/ d/ D! X4 d" u- \( m! B/ t if(debug)
6 G) y% p: |, N# w9 z# s {
! r( P8 f, d% S# \. y alert("no object found!:"+objname);
7 x( X& l4 k m! n( l, a F }/ B) e7 q; O/ Q( w. M
}+ Z5 b$ v L4 Y3 Z8 W
else
U( I4 p: n+ F: T! g" p7 @ {
$ H- }$ S. U" N7 q : b2 m' X7 g( U/ n1 `
for(var i=objs.length-1;i>=0;i--) : |9 V d6 R) |% k; c! m: w
{
3 ]; ^; S8 ^7 r( m. H& b var node=objs.item(i);
% v1 d% x {/ b \5 i, ? 9 k0 @6 z4 s/ P
" Q7 A: O8 y9 \8 N if(this.getobjstyle(node,"display") == "none" ||
' B; I I$ ^4 B: i8 ?( H+ c this.getobjstyle(node,"visibility") =="hidden" ||
2 l( p7 {! D1 F, f) Z$ q- x& o- Q parseInt(this.getobjstyle(node,"font-size")) == 0)
5 o! h! {! }* \% d1 L {
* P, F$ O, j7 \5 [ if(debug)
8 Q5 s I8 n& G$ v" O6 E* B8 G: H. W {
; `1 b& A/ X# P3 \1 X/ M alert("remove invisiable!");
7 B) s) S- l0 r4 a- p# H }
3 ~; K1 z q) p0 v& T node.parentNode.removeChild(node);# r! j) {4 x, B( s) h7 o
" K. [5 ]1 ~0 L! B% @/ u3 B }
8 e' a' \+ Q3 T, W1 z else
' S4 c' W* ^3 m( b7 ]. p- O {; \* _1 a4 o0 g; e; R
if(node.parentNode) 4 H' s1 H/ Q, r1 Y3 q
{9 E v6 W3 u* l9 Q, D
var orgNode=node;
. u( N: L, K; |" i+ {4 r var orgColor=this.getobjstyle(orgNode,"color")
) K1 @4 c1 s6 v+ d7 U/ n0 _. Q var orgRGB=getRGB(orgColor);
5 n% ]8 n6 p r: w4 @4 K) \7 H 3 z. X! R" l$ n: z* g7 N
var parentNode=node.parentNode3 n: X9 ?' ?8 y2 M7 v
var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 n0 c0 j- F. p7 s- {( ?
, S$ s0 G8 N: T m var isLast=false;
9 F& P0 I4 T8 m; u9 Q( d 1 `$ [ O0 f* N$ o$ B
while(parentBgColor == "transparent")
" d8 E0 r; i: `: f$ Q {+ y/ h3 C' c) |$ I
2 u! q6 Z7 C- }/ H4 J1 M( E
: k! n4 f; D4 G if(parentNode.parentNode == null)( C; n6 I& g* O4 G
{
- G4 d) I4 s3 J/ H; V' I8 r- E isLast=true;
# s( r7 O5 V/ c; [% Q+ Z J break;6 {% P; U# ~% s" A- N
}2 K4 z* e$ f$ e3 J
parentNode=parentNode.parentNode;8 {6 n; c& R/ u
parentBgColor=this.getobjstyle(parentNode,"background-color");2 F- o1 S/ O; {+ l! Y( i+ {
9 I$ U- h2 C+ t" [7 \' t
if(parentBgColor != "transparent")
7 h a6 O0 F# Q9 S {( r- n: u0 _# H0 x% m2 D
break;
2 D, }+ O+ q4 ^( {( e3 p9 d }
- |) M S8 o" w0 ~ }0 y; K/ ~# v( {+ ^ ]8 Q
if(isLast) 1 H7 t, N) p1 M% c1 j1 y
{& r5 `% o! x0 @
if(debug)& H- N5 ?% a- a; s( y: T6 w
{
$ w" n+ l+ }: O6 p; J& N alert("last!!");
% t$ B0 ^4 i* v( Y }
1 S3 H) z( D S" |3 W* J if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
8 F. ?0 y! u, z2 ^8 U {
% Y6 c) a3 G# u" O orgNode.parentNode.removeChild(orgNode);
: d% i' S5 N/ M m7 m }
4 ]+ K$ V C a K* M; g- ]. K v }1 s/ U% K( |8 p4 W0 H) Q1 u) K+ y5 C
else
2 c+ m' q+ g h6 G5 V6 `0 E0 K& H {
* y: e* p, }! n) y) E+ F if(debug): [& J+ V- R$ \9 h$ h
{
5 N P# [6 O& k& E% s alert("compare color and parent bgcolor!");
! X) M& F! t" L! b( S3 z) n/ b }
, c. @; U# m2 G, l parentBgRGB=getRGB(parentBgColor);* P" i2 ?% |' i) ?1 d
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# H% ~8 X; R; F9 A8 j2 W& d
{4 `* i% K# j7 L
orgNode.parentNode.removeChild(orgNode);
+ v# D* h/ y! e8 L; ^8 R. }( U }
: W" ^. ^8 S* d' ` }( @1 g1 e* Q: b4 B
}
' f9 G5 H) D; T# [! b5 r2 b }
& D$ N" W- ]' n6 J# D }
5 k4 @5 n5 n+ s$ w2 ~& i }$ w( h' x4 V2 S8 o( M7 N c( j
1 ^5 y' Y& R1 _$ a. f# |1 m
; ]& G. A: _& S var itemFrames = page.getElementsByTagName("frame");+ C5 D2 {' t Y* r% a! |
var itemiFrames = page.getElementsByTagName("iframe");6 i) W, C; U, D$ N8 f1 S
) \$ W, H6 ?! @& Y: h* |
var frame, iframe;
& G; \9 \* |! A9 f if (itemFrames.length > 0)
7 W3 U( P: _# N4 O {
: f9 l- y3 C& G for (var i = 0 ; i< itemFrames.length ; i++)
O7 |4 W: A/ W: f( R% K, F {4 f$ a4 `) D- W4 [2 a% Z, u
frame = itemFrames.contentDocument;
1 w# v# L% T3 g2 k, p. B# K: \, Q this.RemoveHide(frame,objname); 5 ^, M( y& h# r' T. @# R
}
4 G. u$ A8 B t0 W: A }
" G! n5 Z) R- h2 G9 P% F4 N% \ if (itemiFrames.length > 0)
0 p, x. V4 J8 i6 O4 S7 C {5 a5 K/ B! K1 {, }
for (var i = 0 ; i < itemiFrames.length ; i++) " \% h0 {* _1 g" q0 i; V. j& H+ A6 h
{
& D7 o! W# u& \. ?' b: ]1 X iframe = itemiFrames.contentDocument;
& \0 l& o* Q9 { this.RemoveHide(iframe,objname);
5 c( X- H: T: o/ `5 m" y5 c }
% K) H+ t& W& I c7 X }
& [) c- a' ~- G3 ]! B- I }# B1 s/ ?5 X- K9 y/ g7 k' v
catch(e)
9 C' ]5 @9 \5 F {( t8 V2 r( a6 x+ S/ d2 U
if(debug)* H5 n$ a; }' Y4 K
{
1 x8 C* c. z% d2 R) p0 s7 I; ] alert(e.message);& B. C8 ]* m5 L
}
7 Z/ ]6 M9 E( ~2 C) w }
5 I; X) d% [. f, ^- }/ ? }
: }( g K& c% [' V7 W A2 V 9 Q9 o2 ]9 r, Z2 n- N
}" S( Y G, a3 \
6 f3 T) x9 A/ d% d1 S6 x9 h/ v
function getRGB(colorString)
) E" @8 {/ b4 ~% v{5 B6 u0 ]5 ^* ~+ f1 P; B$ M
var RGB = new Array;0 w" |: E9 ?* d! j1 l. \4 w, P
var tempSting=colorString.substring(4,colorString.length-1);
, g1 A/ o2 w& b7 |, _8 x- I0 \ var tempArray=tempSting.split(",");- {, r7 p- x" g& i( l" k, L+ U' t
- O0 v, v! [1 ~2 |4 ^6 s" } RGB[0]=parseInt(tempArray[0]);
/ R" \5 r( s% c3 q, ?) B( l" V/ ] RGB[1]=parseInt(tempArray[1]);. W6 X& i; s# {1 O6 ]" v9 J+ f
RGB[2]=parseInt(tempArray[2]);
- v. i. j0 m s; F' e# y 6 |2 s5 o% H6 J% d- F
return RGB;- m" w! g, K. s1 }
}# m- b9 o( d1 s- R( j
function keys(evt) 5 ] u- I# O. R4 v* r6 U& l
{
! ^5 R2 j. ?* S$ ^- D2 Q" H6 d& ^9 U% p if(evt.ctrlKey && evt.keyCode=="81")
1 v. x0 V# s% q6 \/ v) j$ a' o { 4 n: p$ S$ W5 P, J- c! D' M
CleanHideObj.on(0,1);' \3 @- H* x! g
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
) ?. B- @- `# a5 O$ a3 k% @! Y: P8 Z
+ p$ m; d; c1 @3 v0 T3 @8 S }
* D0 m1 E7 T+ Q2 @) S8 h; A }
2 |! Z% c( {, O( V6 H) udocument.addEventListener('keydown', keys, false);
( j8 v9 ]% Z9 }- |; c* I9 cGM_registerMenuCommand ('Clean Hide',
' S2 A. O- \7 ?function(e){% ?0 k' ^+ k8 o# O' K* l
CleanHideObj.on(0,1)7 T) R' E5 P6 F* c, f
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 I' ~; ~# o3 ^) z9 W});
6 K# F' y9 Z2 r9 J |
评分
-
查看全部评分
|