|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 7 K% P% L/ h! `6 j- M0 ]: y9 m
' }1 a- M0 ]% Q0 E0 r1 e
火狐插件,用猴子
n3 P% J0 M: z: L1 C0 l: ]' k4 r9 G" ?) ]% Y; G8 f+ b/ y! R
var debug=false; $ h0 @/ i6 h4 t; P, c4 Y
var CleanHideObj=new CleanHideClass();2 T/ t. f- @* e2 u( T
) o; s+ `: W6 J& Z+ g0 A- e4 L" Mfunction CleanHideClass() 2 W- U8 M; K y* \* P
{ * E" i# R$ I; b: b# [. B( h0 s
* U4 {! \3 B/ ~
this.on=function(id,bMZ)* K9 K, M, O: T6 }3 d( L" l+ ]
{
5 t8 d" _) v4 O4 ~& B g4 s) F % s8 A0 X- z2 G# H/ ~" |
if(id == 0)
7 ^+ U R& d2 [$ Y {
: u8 W1 ^ y3 @+ Z) M) S var page=/* document.getElementById("content").contentDocument */document;
$ ]! `1 p1 V6 r- @ v$ @# f G, S this.RemoveHide(page,"span");
' v; P# y8 ] N; B$ O this.RemoveHide(page,"font");- W% u9 K* S8 \" I1 D* i! b
this.RemoveHide(page,"div");% x# F8 D* H2 ^; [. Z1 V
this.RemoveHide(page,"p");
3 \( E* x) W" g( l8 a
* s: R1 d! D+ M, h }) Z" a2 E* f( P
s, e) t/ d7 {7 q6 X! d } Q6 Q ~; a/ i3 }) N, Q9 y2 D
this.getobjstyle=function(node,prop)
% _$ c. ^) z$ U9 U2 J9 A {
3 Q6 L9 g9 m; E4 w- ^; B$ k. y2 J try" y5 `+ l+ q, x, Y
{
6 o$ B& x- T* w' A8 h9 Y0 y return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
7 o1 L# e( x6 l: o }
1 S- b+ H7 k# r5 h) I8 N6 s9 i( R catch(e)- A3 h4 d8 a, v* W- H
{4 J/ r5 e, a7 ~$ C$ h( L" J
if(debug)
3 @3 @- X. ?9 g0 R1 y {( c9 Y9 v7 l; x1 I) m8 S
alert(e.message);
6 ~; y0 \# o1 P. B1 t$ n- g% r }
; l/ {9 M* t8 m3 W ; z! X! u1 ?+ W% V- n4 ^
return "200";2 y$ m# G/ x2 ^5 Z1 I( C& Z
}
: n( S% S+ z' X% E) i, h. p }' Q0 \9 u) y# M e* v8 G3 Y A7 x
% P8 S/ O7 U/ n! d" J
this.RemoveHide=function(page,objname)
- G2 x/ m6 H( ~5 S+ F {
+ W: o+ ^1 f( @6 h try
8 R% |9 K; \$ N1 L7 ]3 N {
8 m- s7 s! b! L8 @. K var minValue=15;2 l) i" j: Z3 _4 J
var objs=page.getElementsByTagName(objname);
4 f1 Q7 ?4 z8 Y7 s9 c$ F, d' ?; t1 Y8 R1 Y, B) X2 P
if(objs.length == 0) - d, d; I+ I- t+ Z, v
{& R2 a6 \3 q6 | }8 H; `6 E* |
if(debug)' U* a8 P) h- n& }+ ~ D" C
{
9 ?* P7 {. v5 O# E0 M: @ alert("no object found!:"+objname);
2 p8 O9 j& C% T" u% h }
9 D2 z) g. _7 ~+ q" I, a4 C }
6 }7 n/ `0 w2 q' q else
* y9 E: j# n" {' B/ \' `5 d5 g2 I7 F {
/ B) K( ^+ |1 p o) y 1 c; P/ y- V' C) T5 z3 N0 e$ t% p
for(var i=objs.length-1;i>=0;i--)
2 p; S& v- f5 T4 l# ^' k% k {
& {/ Y$ D: F& h7 W; W' p, S var node=objs.item(i); 8 B+ A& B q: ?& H8 I2 g1 J/ Z
; F0 o; O9 |0 D, }4 ^
" J0 l. \7 B! A; M0 K if(this.getobjstyle(node,"display") == "none" ||
6 ]: O+ Q# \9 z this.getobjstyle(node,"visibility") =="hidden" ||
- W- l, a) T5 Q( c parseInt(this.getobjstyle(node,"font-size")) == 0) $ I7 r' H, j) h! ] a
{
2 {2 {3 h0 Y& g6 @" r# p+ l+ X: E8 j if(debug)
! H6 ^, O# N/ b& D3 ` {; j( P! S+ K0 D, N+ N
alert("remove invisiable!"); f6 y$ S1 B& U0 _
}
' c5 g% O$ Y3 D- e node.parentNode.removeChild(node);
) K% u* L5 l: A* @- A
+ |0 Y- |# [/ h2 y7 ^ }" N" V1 u1 ~) z
else ' x& r2 Z- x0 g7 \ r
{
% o0 g1 {' D& D if(node.parentNode)
% z3 r9 Z, @* C/ s" f- } {
- n, M. Y7 F9 Z) _ var orgNode=node;
9 \" K& g6 w" H# _- E- s1 y! d var orgColor=this.getobjstyle(orgNode,"color"); v g+ m# h! v( {; D% c
var orgRGB=getRGB(orgColor); + C: F8 x8 b4 Y' h' U
: x4 M( S2 g1 ?9 i
var parentNode=node.parentNode
4 t' U$ P6 k( ?0 u, [- h0 B var parentBgColor=this.getobjstyle(parentNode,"background-color");: F: W0 m, Q" `! I, z
4 [7 Z1 g2 x- f var isLast=false;" C2 s5 O& W" ?7 l/ a9 g
, ]3 I' H% u' u# B$ U
while(parentBgColor == "transparent") 6 t# A( i5 w8 S4 ~
{5 `5 ~ ~& {6 l) q3 t
* Q0 c. h. E9 C+ f
4 U- _, b' G3 f0 y if(parentNode.parentNode == null)$ w, H% ]- Y: o9 H3 x
{- T B1 C9 `; |7 ]
isLast=true;
9 c$ D9 B/ @' _% J/ p$ L break;
( _3 M2 h; S3 w7 X. w4 s% e }% y i: j' F0 T" T" }
parentNode=parentNode.parentNode;; Y& b5 K5 Q# L9 T9 r+ |" k
parentBgColor=this.getobjstyle(parentNode,"background-color");
7 s9 M" s' h( ]) s+ s% }* @) M% M- V! u/ r2 w
if(parentBgColor != "transparent")
# w% _ O& T' K' C8 k {
) O* c8 g( M+ J0 o break;
' M3 B* W( c8 ^7 @9 j }$ t, k/ D- y I8 t# \4 A. A; Q: k
}# a3 J8 \ ?2 e/ U1 m q
if(isLast)
1 s- l+ Z, c4 B6 g {! [8 X- ~2 }- \
if(debug)
1 ]- F b8 a, b k8 D4 l {
2 S, x- J) u' W" P: A alert("last!!");
% w8 E9 N$ o9 ^7 X% k8 p ?7 z8 M6 a }* G) u$ S/ G% L# z2 u4 e1 N9 }! D. o
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
c( O0 z# U! D# G; a2 L {
' n. u' U7 O* I9 g' k) g orgNode.parentNode.removeChild(orgNode); , c+ z# H6 d' }; V3 U# w1 o* M, M
}/ q R7 i' s9 Q4 S6 E) t. s
}$ P7 b& l/ _% W0 N0 E
else
: d4 e% D6 P4 q) q! s {
5 M, i2 X: X" @+ T- a if(debug)' N5 @* d) u9 }1 @. t2 V
{
`' q; z2 o0 B6 \' k& o, k; c( w, l alert("compare color and parent bgcolor!");+ c& w0 O8 {0 m9 t' X1 N8 I
}& ] {) T. ~, e. ^0 b3 o
parentBgRGB=getRGB(parentBgColor);# [" Y9 V. }2 {
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 q# M: i1 f. K
{! L% H9 [" h) G: d* y q0 J7 q
orgNode.parentNode.removeChild(orgNode); 3 X$ w, v' t B, g4 E
}
$ K1 l% d' A% {' |6 @7 U9 K& z1 R }2 U% L! \" Y" k6 v
}( C4 y/ P; i9 b" E& A4 h5 M3 T& G
}
* V7 k: O3 l' e- k }$ P0 D3 @: _' t9 _! g. X
}+ z8 r: f5 t4 Y1 u( [ R: u
/ |, U; i; W7 o' w' r. Y' J
, v8 S% Z( L/ z# }/ H var itemFrames = page.getElementsByTagName("frame");2 e& f' Y7 a5 d( n
var itemiFrames = page.getElementsByTagName("iframe");# ^# p, d2 A4 t, J" x4 r# ]+ m3 C
( X: a- h: I7 h0 J. Q
var frame, iframe;* F/ r8 A& J" D1 v
if (itemFrames.length > 0)
8 M! ^" G. b! I# A a- v {6 b% B. O h) W; b% Y$ s
for (var i = 0 ; i< itemFrames.length ; i++)
- E7 x0 o6 ]. t& @ {/ @" M" _' F4 p& U7 O) {1 M5 G
frame = itemFrames.contentDocument;1 \; j- X7 r( N5 O
this.RemoveHide(frame,objname);
5 G' ^9 b- Y6 {. @+ u& p! x }# {8 M3 b5 Y! f" R3 I0 z6 \
}
% c' ^9 R9 I: c! {/ G/ t if (itemiFrames.length > 0)
: J) ?0 G E1 d {' Z& {" l2 O j. e9 {
for (var i = 0 ; i < itemiFrames.length ; i++)
% i) @- |* Z5 s R% m {
7 }1 _! W/ G) @: n. M" X M% o iframe = itemiFrames.contentDocument;
/ S+ i% }3 M3 [# O1 x% z8 ]$ h/ P% |+ N this.RemoveHide(iframe,objname); . Z5 V& q. R, U/ z- }5 j
}
7 E; ]! V ]+ m9 ~6 v } L3 V: {0 A3 i3 G
}
$ x- {# q) r- f2 a catch(e)
& ]& ?' l( T9 A3 J" R) d W8 K {$ L8 l) j4 Z& ~1 w
if(debug)
$ H. C, @. K6 D, I) [& k1 T$ y {% x9 h' P, U& D+ o
alert(e.message);
& p% ?9 L4 y' u1 Z- O0 e( | }
( [3 R) v* \1 b: l" R H }
0 W5 _: Z0 A, L3 a' r) X }4 W4 j- x$ u% }& q7 K
b' F7 w! t% f0 o; F5 c}
) q0 U7 y( ^7 l( E* x$ p9 W; f
0 g, `+ @8 y. y7 n8 w/ f3 [, Jfunction getRGB(colorString)( ^! s/ E2 H0 t
{/ o- A" \& a! n5 B
var RGB = new Array;
. }/ ` V# h0 ]+ P2 h var tempSting=colorString.substring(4,colorString.length-1);
. t4 K% E Y A+ T, h* X, ` var tempArray=tempSting.split(",");9 K$ u; f! N+ U' b2 F
' K8 b: m& X5 k1 A' D1 h0 h RGB[0]=parseInt(tempArray[0]);
. d" d# M M& j2 ^- X5 @. [ RGB[1]=parseInt(tempArray[1]);
9 C+ K5 H) J/ f- ^ U1 L RGB[2]=parseInt(tempArray[2]);+ }# F Y- u3 s3 x+ T
$ v8 Q+ d" W: X. M- A return RGB;/ D% n1 E# K6 h0 ^! @# X7 V5 Z
}4 @7 x+ E( y! n) L9 S
function keys(evt) * \5 x9 A& ~4 S) V6 h
{
; h8 l( E9 S# j$ _7 \& C6 ` if(evt.ctrlKey && evt.keyCode=="81")
# }' H3 b& k6 E: p! w+ Z9 b- o {
' D4 a' b7 H# a7 n CleanHideObj.on(0,1);
5 k0 Q+ m( l. D! {* f alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- c* I* f0 x1 t7 a3 h , |7 `8 a% v( a0 `! s5 K; x
} * P% F1 |5 S4 M, C) ?* c
}
0 u# q$ i. j. M' D7 K b) `document.addEventListener('keydown', keys, false);
. ]# Z- D) |. L/ p9 M. PGM_registerMenuCommand ('Clean Hide',
4 _, W6 U' c9 V9 K" N1 o; X0 Efunction(e){
: d# X4 ^1 u1 `5 h$ I* m6 f0 |CleanHideObj.on(0,1)
' m6 \" |7 B8 H% s) Y, Yalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- K3 \' _8 i1 I# a" K; C9 M, s});
' G' m/ \3 u. q3 T7 x* z7 r3 t& B# x+ T1 K |
评分
-
查看全部评分
|