|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
. B2 _% V& N0 S, |9 K: @
: ]% l5 P/ [' }火狐插件,用猴子7 X& m* ]" x! r! |/ E
2 p" j- T- c3 \( f& ?; j, \8 \6 m+ A
var debug=false; - _0 I# g* p4 [2 M
var CleanHideObj=new CleanHideClass();
' ] _# L! H2 o( a, q; I. M e- r9 @* |0 H6 |. U: E9 O2 v6 ~; S
function CleanHideClass() 7 L) O, ]2 D8 A$ `8 ^. n0 W
{
% C+ X. \9 Y- p 8 M( t3 {; }0 \$ g2 D6 I
this.on=function(id,bMZ)
1 b2 `, l2 c- Y( c$ m- K {9 K: T' Z6 `5 q8 l, L6 M% t$ _+ G
+ Q! D, R8 \' h: n. X1 y. c if(id == 0)
" v1 Z* @8 Q/ p1 C8 J {3 D5 L% t3 L0 L% {# |: C7 o
var page=/* document.getElementById("content").contentDocument */document;
; E/ L* e9 O: b$ ^% D this.RemoveHide(page,"span");0 A# ` N' s: I, l% P* M" H3 m
this.RemoveHide(page,"font");% \: r+ C0 m2 w3 @* O- u# v
this.RemoveHide(page,"div");
5 A$ z( v' C! G/ |& r this.RemoveHide(page,"p");
6 q* R$ D& H7 ~ g% P e8 t2 ^, |! ]' P3 @# C
}9 U* E) ] N, P$ k& P+ n
2 p; I. i7 X% y+ w& b6 w. a }
7 ?1 J2 i. y! O$ d1 Q* f9 V1 C this.getobjstyle=function(node,prop)
/ K3 M0 A+ C6 G- r& _) P$ O) K {
: i0 g& N( A( E/ v0 j$ [' s* H try$ j! q$ d* _7 O4 l/ t% u) \
{
) j- D5 |) ^; s- w9 S4 ~. s0 V return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 V# u, b. b. d% h# E, C8 n0 n }# [ G8 N+ l9 U; m+ v$ Z( T
catch(e), f9 }! P* F3 n0 B# A1 P. k
{8 ?& ]7 `- L6 l9 D% S6 u4 |
if(debug)2 ~( b4 @1 e% Q% d! s
{
5 Z5 d g ~3 N N- z alert(e.message);. O& c6 U2 _1 e" Y+ r: f
}9 L9 d# a. W" j7 j
8 _: M2 R& P: _! y return "200";3 f" k8 M1 z$ l& _9 Z, R0 }* k9 l
}
. ~1 m( ?4 d, _% g4 I$ z: k: l }
: _' |1 j/ j2 e0 f2 K! C+ I, C9 M 8 N3 {' E7 v& r9 ^* W" }# s
this.RemoveHide=function(page,objname)# b8 q* c" o P M
{- r4 o; |) A7 B' }. c# J) V) |6 `0 q* s
try
& i0 X. d0 Q# j$ m {
8 F' N1 [! \9 ?# y, [: R) H3 V0 g var minValue=15;* }, [+ [, q s. S, m$ r- b% H
var objs=page.getElementsByTagName(objname); 8 y( i& }9 j4 \0 T4 h
* l3 i; ~" e# }$ L- @& ^
if(objs.length == 0) 0 r2 g: I9 |7 {( V; P
{, v U0 v1 w2 |8 G# F1 m! ?
if(debug)- z! e; I, X) ]& p' y. O
{
7 X9 s Z) P4 E* A alert("no object found!:"+objname);- P4 T. E9 m1 z3 u% N
}" I* s" d+ c9 d* H) Y% v) v; ?5 y
}5 f) t" M& h$ u+ A
else# c( f5 S! f# y; d
{+ _) ?$ W: F$ T
! z, N0 C' a" P' \0 K* Y9 w4 q for(var i=objs.length-1;i>=0;i--)
; M `* |" O1 W2 s {$ {. _# C; v3 }& N( C
var node=objs.item(i);
6 f0 o% {1 P* }4 k( r4 d
6 K. W2 \2 t n4 e! o % Q9 z' E9 [ `
if(this.getobjstyle(node,"display") == "none" ||5 A3 G( d F% \: }% A0 Y, n
this.getobjstyle(node,"visibility") =="hidden" ||9 Y+ [; T" u% o n; [% X
parseInt(this.getobjstyle(node,"font-size")) == 0) 9 {. q7 I e) K9 {' x
{
1 W; s4 p+ `9 h; m& d9 p7 B$ [ if(debug)6 K1 G5 o) h; A) N& {) o
{# E$ N4 f+ S1 A, c& X; i
alert("remove invisiable!");
2 z/ w7 L6 h. ^; Q }$ V- s9 ^% Z; M2 c9 W
node.parentNode.removeChild(node);; [8 g+ W6 a$ F3 R6 w! t
/ l3 n; v& k& o N ]7 |$ ^1 U }' j/ u$ }6 G5 I* S0 w
else
4 C) I+ B# T8 A- E, o% d7 M {
. C* I' l1 e. W" q7 x if(node.parentNode)
D* _0 d& R7 F {
7 [! N& m/ t7 K8 D2 o, { var orgNode=node;: \$ l4 {6 R) Q% l8 u" @: ]$ j
var orgColor=this.getobjstyle(orgNode,"color")9 J) {: \+ o4 \8 [/ D q
var orgRGB=getRGB(orgColor); 2 d1 O) D6 J2 U# C5 V; L
' _# a6 \, d4 \7 N: n7 [, ~4 k
var parentNode=node.parentNode0 z5 u8 r9 F- q/ b% A; G" b
var parentBgColor=this.getobjstyle(parentNode,"background-color");
6 T7 P( ?& H. c8 p 0 a, E$ C* S: p: T3 i' V$ M/ l
var isLast=false;, I: u, R: X9 i8 X$ f! h/ s9 `- G
5 c/ K% p4 N+ v while(parentBgColor == "transparent") 3 G- A" t7 ^9 y. N) }
{
8 p1 B& ^' E2 D) s* { ! B- H* V; R8 k& ?2 a* `. w8 _4 x4 C
( O( B/ B }1 z" A$ E ?7 i; a) ]0 b
if(parentNode.parentNode == null)
7 A' D; R& I x6 U6 H {
! f' P" i, m' t, n isLast=true;
( q2 Q4 i9 F9 L7 `' n N break;4 ~0 L) H2 m0 H
}+ n9 L+ n& A, Y- i, ]/ C- Y8 x! Z* [2 v
parentNode=parentNode.parentNode; l* A7 i0 A# A# n. F: y
parentBgColor=this.getobjstyle(parentNode,"background-color");
6 A* B# T0 Z' I# K$ D; ]. U7 ?; p3 f/ }
if(parentBgColor != "transparent") 7 i) S$ h8 ^8 N" y- Y+ p
{$ I# K' ?5 b' A+ W
break;4 n$ k' e8 a; G
}
- V) \/ w z# ?0 b4 t }! Q; z$ C# A7 ~- N6 M2 V9 D
if(isLast) 0 y! k3 i9 ^+ a) a0 }
{- @- G( Z- z" d' F
if(debug)
% u/ ^: ~ r% }! s/ @$ n+ s# l* e& { {8 ^" F( g# l1 N
alert("last!!");5 O# L! _% m1 Y& z- R, T
}( M ^& l' P) c7 \2 \( l7 x
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
8 h- G: ?4 O* g {
" j, S$ }9 }; y1 `6 m v orgNode.parentNode.removeChild(orgNode); ) r+ G7 ?5 i! @* J5 X9 I, b L
}
: `; W) {2 X$ t- r! V% D }
: ]& P8 a8 m9 u9 |$ }& ] else
4 q x, I: d2 G& t! D {* y) n: ]9 Y: K0 H b
if(debug)9 E/ e2 a, m( m8 R5 R5 ~" T: x' T1 n
{ p$ P* P; y% }7 T, c! A8 [
alert("compare color and parent bgcolor!");
) u* U; d( H @, q E* V& {: @6 b }% Z% Z$ I3 s$ y1 @2 w- x5 t3 g- A
parentBgRGB=getRGB(parentBgColor);) Q4 M: O) p1 h+ }* v! K4 \& U4 ~2 v
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))$ N% `4 @( f, r% g- B- H
{
1 L+ ]- m3 c7 C orgNode.parentNode.removeChild(orgNode); 4 F2 i7 B! ^! g1 a, `# R
}- [# c6 h- q/ m7 T
}/ p% d/ g7 {5 \+ y) q* q" s" e
}
! x! J8 J! X/ x8 W# g& s4 l- k4 u# e }6 @+ k+ z' i5 y' V6 z
}
+ T9 k" ]8 z0 A( X3 }! [: q. x" d }- P3 | F% ~+ w# d1 n/ ?
$ P" T7 |+ \- b& Z+ ]" e/ S, t+ I' |
4 \. C! V3 Q6 C var itemFrames = page.getElementsByTagName("frame");* i4 @& ?, x- P; s
var itemiFrames = page.getElementsByTagName("iframe");! Q D! Z3 t: Y6 `* T/ i4 h( F
| f W: H7 l! H var frame, iframe;) A' ]& |9 m7 Q& t, H' \
if (itemFrames.length > 0)% i& k$ ^) k) k7 S
{- e& {9 s# J) K* S0 F6 Q9 P
for (var i = 0 ; i< itemFrames.length ; i++) . f* r! s9 [5 C' V
{
" ?# E$ r* S" S1 V9 T frame = itemFrames.contentDocument;2 q8 F( x# C! D
this.RemoveHide(frame,objname); ) _7 C8 s. } Y" h: n) C+ R
}
+ ]7 O) t1 Y% D# B }- H) `8 W1 f4 P6 M, E _
if (itemiFrames.length > 0)
' D8 K9 y* j! G$ Z {
8 Z. k9 [! F+ O for (var i = 0 ; i < itemiFrames.length ; i++) % r) i5 H) e& y- R+ g
{5 G9 S8 o3 h+ b' k/ A) f$ c
iframe = itemiFrames.contentDocument;1 w$ D5 p5 z, P: p
this.RemoveHide(iframe,objname); ' C% H0 _! B3 \. z
}
2 K% j' O6 s1 n4 j* ]4 l# S }
. u" q" W9 y3 f( u- \ }4 ~9 ]+ r5 G C: L7 _5 @+ ]
catch(e)& v5 u" b! A' l
{5 o6 `& @, Y" d" i, c0 e
if(debug)
$ B( u9 v4 u' I2 T" w! C9 J1 o {
2 N# L; K* p6 h, x* }, o) c- F alert(e.message);
6 B% k9 P# @$ ~ }
, {' t) e0 i" f7 c7 N } K$ ^2 W8 q; x8 k( B" s
}
' ^% D* a1 K5 o3 J) X8 D - W5 X0 r! X! U
}
3 h+ }: x( @0 C$ X+ I
$ _) {1 j! @- C3 |1 }6 B8 Kfunction getRGB(colorString)
0 Y! A4 p# x7 U" b9 f8 {7 K. L{
- S9 J8 R; m. t% q0 E var RGB = new Array;1 l' d4 F# N: w, r/ E d6 G7 O
var tempSting=colorString.substring(4,colorString.length-1);; Q" Q* q K7 Q) f$ @9 z5 W
var tempArray=tempSting.split(",");
! H! R2 r) J G1 c6 Q# n/ e. t) M' g0 @
RGB[0]=parseInt(tempArray[0]);6 N# O5 j' C0 b, w c: R0 T
RGB[1]=parseInt(tempArray[1]);+ U( G/ A9 A. H% l( V
RGB[2]=parseInt(tempArray[2]);% X6 H8 |+ G2 f: k }
, |* S# n+ Y; c- n
return RGB;
/ k6 [7 f$ |0 Y! V& X3 c" v}
: M1 {* {/ b; N2 tfunction keys(evt)
. f( W: T+ e' e* R1 I/ d& c { 8 @* p5 A4 ~/ ?, c- W
if(evt.ctrlKey && evt.keyCode=="81")
+ c6 y; Z" B' u$ l1 K' B { 7 L' {( d2 K, ?
CleanHideObj.on(0,1);
6 x( N) z7 O) ^ Y9 W6 M alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
7 h7 N4 P# B. Z7 ? 5 ?: H: W/ |. {/ t: |
} ! e+ w6 B h! V; C+ s3 l$ l9 {
} % C; [! b u7 `- Z
document.addEventListener('keydown', keys, false);
; t4 }0 g8 l: s d5 y% IGM_registerMenuCommand ('Clean Hide',
: z9 K) k5 d9 [8 V! r: T8 z0 ?" yfunction(e){
* D3 {3 `6 `* N, V/ K1 ~9 x* SCleanHideObj.on(0,1)
2 u2 i% ]4 M6 h" Y9 s4 {. K. Yalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");/ h& |" U; }% {
});/ g# n/ e. P3 J8 S2 s* Z7 _& n
|
评分
-
查看全部评分
|