|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
% H* P0 C, I! H. ]& ?9 t* f2 x) |2 }
火狐插件,用猴子& F/ @+ U d7 e) n/ @, @$ G
+ c9 L8 y3 a6 c y
var debug=false;
4 g% n6 h* G" W1 V8 Y' evar CleanHideObj=new CleanHideClass();
$ p. D, ~4 ]- W; r8 o1 V. E0 K" n5 Y) r4 J o+ X- F. W/ k
function CleanHideClass()
8 W/ {5 L9 o: m5 d; Z/ q{ 4 E5 i' M' V$ }1 H' ~( E
2 |% k8 i( h* l7 d$ R' a: H- E3 i
this.on=function(id,bMZ)* `# c1 D0 N* e" a/ p7 e
{6 g6 R0 t/ \3 W+ j* m
5 \2 W: C. e- h1 s/ b8 U% u if(id == 0)4 y* ]3 V4 b8 _! k- E
{
. i& R! n x8 C {. w var page=/* document.getElementById("content").contentDocument */document;
% d R8 y# v4 o% L! [* E9 V/ X this.RemoveHide(page,"span");) `# i8 T) L, y
this.RemoveHide(page,"font");
& P A* e. Y& {; v0 _ this.RemoveHide(page,"div");5 G5 i% T" F, C1 ~3 ^8 n
this.RemoveHide(page,"p");8 r% d4 l; ?- v. _; D" u
* `, T& E4 D& A/ r }
3 e3 G1 Q& Z- d* N" {- T
/ o7 p. U2 @8 t1 e% o7 w2 ^ }9 a( K, |( Y' O( I; T
this.getobjstyle=function(node,prop)
+ Z- Q3 j# G4 S- q {
2 h3 F! X2 O" V try
! X+ m/ ?$ k. A# P {: g% L* c. J' D% p4 l
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
0 Q) d/ @! }& k }, r) Y& B i& D5 Z9 F x' v5 D8 ~8 W+ o
catch(e)
4 ^9 ?' p# g5 Q" D, D/ E {
9 m! n0 I# Z6 ]% U; U1 l9 l if(debug) x+ a) Z, {$ H, A& E( W8 `" ?
{6 B- V8 z0 I! d1 G% s& m. _
alert(e.message);4 F6 m {- E8 u: l
}
7 M1 S* C# d2 X W" m. G/ E* D( I ! l& Q+ `/ i- {3 u' s. h3 H4 I
return "200";: c/ N+ ~! R( I# f4 X) R* F
}
3 i! a* z+ m7 v% D7 t }
0 [$ p( C3 s5 b" h/ V0 S7 o
- m* K1 J0 G- E3 c/ P: L this.RemoveHide=function(page,objname)
* I% n6 H' s5 p) L" T {( t* ]" |' }- b; E0 E1 L4 \) z& `
try2 S7 l: l/ L% [" U; v5 ^# |; }
{
8 v+ r1 P+ [: A3 C' D& p+ G: y var minValue=15;
& [( \. t$ _ T var objs=page.getElementsByTagName(objname);
+ Q# T; j; E) y
& I* D* Q: j1 n5 i if(objs.length == 0) w2 Z9 m8 _% W; p( M
{
) O1 m( f$ Z1 z( P5 w if(debug)# g" N% T; T. x1 K& I
{
- |7 c$ ^ @3 c( t: y, ]5 l alert("no object found!:"+objname);* s; s! H( g: n+ J
}) p6 H5 A/ _/ j. B$ g. B0 \
}
( Q% U1 ?9 f o. H! I+ P else
4 R2 P6 _* b9 N j* G4 R& G {
) O4 b1 g9 `7 u6 O2 {- [4 G6 f7 z 4 L4 o( B k3 l" N2 p% [* R
for(var i=objs.length-1;i>=0;i--) 4 Q# }/ b/ C3 D9 G, n( N
{
, }3 V, W$ w% c0 o. L var node=objs.item(i);
; m. @9 |, J6 H4 w+ u' Z3 e
, B, \' F2 Y* \/ h. q
$ m, X, `2 @6 n; _3 W if(this.getobjstyle(node,"display") == "none" ||/ w6 z1 v& D- t# j
this.getobjstyle(node,"visibility") =="hidden" ||: H- e) [6 v# Q4 w, M) F* p9 X
parseInt(this.getobjstyle(node,"font-size")) == 0)
% q) G0 _2 D& f+ w- W. W {& a% F, _! ~; F2 k8 F
if(debug)
1 A2 [# y# q1 Z/ s; {; t+ Q3 r {6 k B! T: G8 a% V
alert("remove invisiable!");
% n6 a. S) \. @. J; a }9 s3 P# F8 ~7 X9 B+ I4 `# J
node.parentNode.removeChild(node);9 k6 r) `& l3 t# E
9 \/ w9 |' A( l0 b7 F, G2 Z$ I4 G
}+ _( ^5 }, J6 `0 B
else + f4 _1 [$ M$ O# G
{! n8 j6 U# M# z0 O
if(node.parentNode) ) k' @) L' g0 K/ j9 A$ D
{
; }% W: Q! L; K8 j var orgNode=node;! O8 P5 R, ?% `( N U8 g# G
var orgColor=this.getobjstyle(orgNode,"color")- k$ J' @5 K1 }: ~0 p
var orgRGB=getRGB(orgColor); s# p- |1 F& E8 n2 L, Q
8 A$ n# t* k6 Q5 } var parentNode=node.parentNode$ Q7 G) s/ K: `: R
var parentBgColor=this.getobjstyle(parentNode,"background-color");
3 o& x+ i" e# T" f+ R: V8 l" g 7 i6 Z7 @2 R6 I; p
var isLast=false;
+ ]1 L0 R$ w( Q( V 6 Z% w# F" W* o! l: v9 g4 x8 h
while(parentBgColor == "transparent") # p, y1 @6 M+ b8 e$ E* b2 y6 ~4 z
{
* I% k( y0 @. ^+ u) n9 A z j! a
# @; E4 j) _7 h3 ]) e4 O : Y: ^9 s5 ]( z$ Q
if(parentNode.parentNode == null)7 C5 @0 Y6 ]! p6 F- s' I8 `
{
( N' U3 U- ~9 ~# U, n: J isLast=true;
5 X0 o0 j) L/ I; R1 Z; O' z break;
7 J3 x2 P3 p+ V6 h* w. Y }( A: D+ c" M) y7 d6 A
parentNode=parentNode.parentNode;
9 T' E q% U/ v, L parentBgColor=this.getobjstyle(parentNode,"background-color");, q+ O7 d/ g; q, V
* r& ]- j/ q# `! D, k( N
if(parentBgColor != "transparent") * [6 \) v7 V2 M0 U* e6 X
{( J; c3 ` A( e$ ^; @
break;# w3 R5 p- t- A
}
' y0 |" h% F& Q# Z' Y* I }
L: @$ N9 J6 Q B5 r/ f. p7 D3 }! W if(isLast) 0 w$ b& Y! M+ ^" x4 k: _+ S
{; d, k7 Q# z# Q5 H/ @, p: q2 ]/ `
if(debug)' M3 y/ r2 m: f
{
! w% U# ` p/ |3 b+ Q3 `( ] o* z alert("last!!");: {/ Y8 {- I0 G" P k* Z! [
}
2 c u; l Z1 ] _ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
* z! x( l. K! B/ x s/ [5 L6 \% @ {0 j8 p' I) i$ u. F" v( j3 n ^% x
orgNode.parentNode.removeChild(orgNode);
5 ~5 T+ j* Q, I) b, M' Q }
3 O3 \1 }2 L- d v5 ?1 y& L. F9 j }5 l+ N: `/ v$ {2 p( q2 t
else
0 A8 g6 \1 f7 |, O- R, P {
2 C) C2 D. s: X \9 `6 i! c if(debug)
6 q) C0 J `+ ]6 ?- _ {* t9 {. G+ e: D2 Z$ }) z: l
alert("compare color and parent bgcolor!");* l! F% Y& a/ ]8 h, i) A# M
}$ e) ]5 O6 J' _* M* e* ]
parentBgRGB=getRGB(parentBgColor);8 c4 U+ `# I0 L% r/ n
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
0 l* R( n' ?% v; @# [1 b {
! o k; D+ n- D3 C | orgNode.parentNode.removeChild(orgNode);
' l$ {1 K3 h$ u3 m% E' A) u }" |" [0 c- D4 i4 f$ y
}& y1 A' S; o9 y$ D
}: o/ G( }6 I$ N8 H$ g
}$ ?: g, y6 }& H! X1 c- W7 a% N. X& y
}
) x5 w4 C- @; G; E }- W% n6 {6 I" w! K- O- u
! R" k4 Z+ _( n* ]; x4 J# e 3 G* k; K0 d' E, [
var itemFrames = page.getElementsByTagName("frame");8 x0 D U" T7 E* _
var itemiFrames = page.getElementsByTagName("iframe");
7 q( \0 S! d) s7 c : i6 Z" M! h# M
var frame, iframe;
3 s! X' b0 D) a' @ if (itemFrames.length > 0)% ]# [, g7 {6 m8 G0 L9 ?3 C
{
1 J) r/ p+ S- [) ^0 C! A! ` for (var i = 0 ; i< itemFrames.length ; i++) * j7 k$ ~! d; z c
{
5 P3 n& K8 n) R+ U$ ^4 q& A4 f frame = itemFrames.contentDocument;
c* I- t) W% Q$ x% t this.RemoveHide(frame,objname); 4 |7 F, H$ H% W5 \# [' ]8 X# q* l2 h
}0 D+ l, C: w/ E0 Y6 o
}# m( S. o G0 k6 L3 H5 f
if (itemiFrames.length > 0)4 n( F/ t; n' j3 U
{
8 s5 s/ K) D; J/ l" k5 s for (var i = 0 ; i < itemiFrames.length ; i++)
) P0 {6 r A5 }' x) l1 i {' Z3 d; q: S ^9 a2 L7 _% g- l0 G
iframe = itemiFrames.contentDocument;
( t2 H2 W d' C& X/ f$ D this.RemoveHide(iframe,objname);
) ^% z" h+ G# H/ [ }
& O# X; \+ X' _/ ^$ n9 }; I$ X }. {- t7 \/ q/ u# K
}
+ N/ [' R$ B% y5 c4 W; G8 H2 T catch(e). f+ s1 K( m* A' `) u- N
{1 s" z. C% j6 F
if(debug)
! s# u4 Z& o) K) u5 H% t, X2 J {
4 P2 z" i0 |" w" m- D! ?4 p alert(e.message);
8 G1 P5 S8 @, O4 e }
* S7 @" R. N* e& Q }
( o8 s/ I+ G9 D+ L8 I- v2 u: F& X5 q }
% o3 k9 e2 {9 M0 }! q' [
7 s p \; F/ l. E* F4 m; F4 O7 y* P}
4 _; R$ n" u2 W% K
7 A. Q p1 O F: Vfunction getRGB(colorString)$ k& ?" G$ ~& G& ], F# a$ m+ Q
{
- M# W% d- d1 P6 d. b; A9 q var RGB = new Array;. V- T+ |& z* T. \0 J' P c; F* U, \
var tempSting=colorString.substring(4,colorString.length-1);5 h$ ], _ {+ `6 r2 q. l9 h# M' P p
var tempArray=tempSting.split(",");
3 i" L7 U. f# x' u/ m+ }/ |4 r
) h( R3 o/ x w7 Q( z RGB[0]=parseInt(tempArray[0]);
8 |6 `. i: p6 Y/ _4 r RGB[1]=parseInt(tempArray[1]);
% U. `' B$ Z) S$ r( w4 F, I- u RGB[2]=parseInt(tempArray[2]);
) D* ~3 H8 C3 N( X |- g0 o ! u# w4 _# O' ~/ w
return RGB;
/ W, U4 X! Q7 K( p. m J8 H}
5 i( B* E0 v' f( zfunction keys(evt)
& j( R# r$ ^! V" r9 b" J w { 4 z/ w9 _( d6 K6 w
if(evt.ctrlKey && evt.keyCode=="81") 8 b" l C/ o. E6 g9 H/ c- ~1 u" V, F: s
{ : s* T. X3 T* J
CleanHideObj.on(0,1);4 { ?+ S9 G7 S
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
0 n l: V! Q% a6 { + Z3 z, }. ^$ {. k. s' S; k
}
/ K4 X7 U+ ?& g. ?& ` } $ Y4 k3 V7 B; ~( E/ E
document.addEventListener('keydown', keys, false);
8 m# H1 N }" g: mGM_registerMenuCommand ('Clean Hide',# }7 m, I+ Z$ @# r
function(e){4 a# @ s, K" i+ d7 a3 o
CleanHideObj.on(0,1)
4 p/ c v5 L5 ?- g. R* l aalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");5 g& j0 l$ Z' S1 V4 ?: j3 y
});
# K, [+ _& `/ W |
评分
-
查看全部评分
|