|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 9 W4 |' ]; s/ d8 p7 ?& R
s; }5 P" ?3 K( p
火狐插件,用猴子1 u* \# N' @, }( t* _( L" ~
1 ^. {8 t* |* F! F7 h% o" F/ c
var debug=false; % l5 r! m) i$ |, _! R& _
var CleanHideObj=new CleanHideClass();
4 e2 s$ c" u* N' @5 x, E: U: B; R. O7 S- p1 Y1 P
function CleanHideClass()
+ ~2 g6 G5 ?3 a{
; K( n$ k1 ^7 c- z# z
6 _4 X6 f! F2 ]+ P this.on=function(id,bMZ): J5 ^8 }* D$ m; u0 K; z; P: i% F
{% _0 M) L9 A9 v9 c% F% x
1 y3 c2 c1 s. B6 {2 z
if(id == 0)
% {$ s, J! D1 ?2 [9 y {" `8 r% r; D5 t j
var page=/* document.getElementById("content").contentDocument */document; ) S. M# n: ]% ?4 {( F, h
this.RemoveHide(page,"span");: T, D+ U6 f* M. k
this.RemoveHide(page,"font");! ]( e# X! ^4 k1 @' P& D
this.RemoveHide(page,"div");0 U$ ?' ~: Q! W# y# ]# [
this.RemoveHide(page,"p");6 e' r9 x7 B' C R
, a8 L4 }0 H2 V, K" r
}
$ f$ O% M4 b3 q+ g1 x* t 1 w0 D; y% ?7 ^ a* x$ Z+ d
}1 P4 E' `( l9 M6 m2 a+ v7 g
this.getobjstyle=function(node,prop)) I! C: x! b, x7 k$ K ^1 C
{
( L! u+ a9 k* I try/ E# ]/ i% x" ^7 S' X; ~
{3 i. i% x1 V' `9 [4 n, a, u+ X
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);' b2 Z: I4 J9 J& P
}5 O; y7 Q3 m8 c# _$ \
catch(e)9 w) q4 {# W% [* m+ {9 T5 O
{/ x! c; E& U, g1 W
if(debug)
4 {$ Q" Q( C# W+ W8 E r& z {
; L# |# W$ S6 n3 s" o; l! x alert(e.message);7 W' O, c7 f9 U1 T: J
}
! z3 U* K+ J2 l" V( M/ H3 e 4 b9 V9 @( y3 {& s# n( u
return "200";
: y) r! j( C# J+ h( d }
9 y. `/ S6 G) {! H1 u. l. y' f' E }6 o+ p0 p: z3 o5 l
8 H" {! s" j: ?! a$ L/ n3 Z; r this.RemoveHide=function(page,objname)! E. p$ T& z3 x& n& |# d% K3 K
{7 u* w# ^) `9 {
try# i8 D% b v H. y4 y* P
{. j; U J. G5 B6 o" G) @. l9 @
var minValue=15;
4 [" D) f: V% W5 v var objs=page.getElementsByTagName(objname); % @; t- b2 ~/ U/ A" Q6 o
# }! s: q7 u- D6 D! M; Z& C$ F" I3 h
if(objs.length == 0)
5 M& n0 N- ^, O* U/ O8 G- K3 v$ j/ B {
) H, Y* |5 |+ l if(debug)
" g. b9 @, ^4 n) a2 L4 R6 w# z {
; z- l* x( [( g+ ? alert("no object found!:"+objname);9 v/ C$ W! i3 X% a0 B
}
) ?2 h# p) x. y$ W- m }
0 V l; A# N* O- a5 I8 K) Y7 F else
6 l8 J2 J2 w/ [) ?; @. b! D0 r {, g6 z. ~% B# M& G# t! e: [
- x' ^1 v) O% M% h$ S2 q7 D
for(var i=objs.length-1;i>=0;i--) ' b9 Z8 O5 h' M. y6 Y/ F
{. I% x) E, U: H d
var node=objs.item(i); ' r$ v5 [) v# q9 ]5 B% E2 ~2 s
! N& a. @) W [% m0 t( m
# o1 ]" l; D3 H2 b$ E8 r! R if(this.getobjstyle(node,"display") == "none" ||3 T3 ?- S' r8 D( c8 w
this.getobjstyle(node,"visibility") =="hidden" ||( N" I2 l6 C' D
parseInt(this.getobjstyle(node,"font-size")) == 0)
8 O8 ~7 Y" i6 Q3 z% q) p' e9 A {3 y1 |: c# X. j3 U
if(debug)" m) s" M1 ]3 v% Y8 E9 v1 ^
{
, }( [3 V: `( J, h* T5 | alert("remove invisiable!");, a' z0 I3 h0 O2 v
}
" p7 N2 N- o ]# x; G |0 c* u node.parentNode.removeChild(node);
7 G2 F1 h& h l7 `/ I+ w$ A: ^ - T9 a* y1 \8 p2 A
}
! Z7 ?9 d- u' R! k: y$ q" n8 K else
. Z( c% G( V0 K5 y {, t% f( g, a* \! ^4 X+ ]$ P
if(node.parentNode)
5 x* @9 l6 p& A& |$ K4 o {
6 d' v! ^8 i% X, D- l$ r, h+ n var orgNode=node;; ?; g3 c7 U$ I8 Q
var orgColor=this.getobjstyle(orgNode,"color"), ]6 t& ^% P7 U7 s! X9 Z
var orgRGB=getRGB(orgColor);
. R! K3 A& _% n" M , ` E* i6 Y8 Y( B1 M
var parentNode=node.parentNode: V5 ?3 Q" S# n' K" E
var parentBgColor=this.getobjstyle(parentNode,"background-color");
8 x* P4 G& t) g 7 r- L) {2 N; f$ S- F/ V
var isLast=false;
: X0 I; W! b; S ) _) b% p. G% i# R7 L% D" c' @
while(parentBgColor == "transparent")
U* i0 T% u `- V% h {
- _' F/ R# W: s9 z- w" y# m8 X
- B0 s k/ u# J- b. w" o / {! V2 u* o; @, F+ h5 X
if(parentNode.parentNode == null)
% c+ K5 N! U ~9 \ {
- p: r# E! L/ @ isLast=true;) m. w& Z' l/ S: }2 h _( l$ x% [
break;/ U- Y1 @' y! Q% R" T9 w; V. [/ r' b
}* O9 v, \; ^/ ?- H
parentNode=parentNode.parentNode;
. Z; q1 s/ U3 |9 S% R parentBgColor=this.getobjstyle(parentNode,"background-color");
. L6 {( `3 g- q; S" K" X0 T1 j4 b5 ?: r
if(parentBgColor != "transparent") 9 W9 O+ b2 K7 L- Q X9 i
{! j& N# E6 @- X# _2 Z
break;
9 ^6 _3 I* ~ ~ _8 b. c }
( h# N# w( `2 v$ y2 a5 A" R: h! w7 U) c }% E( j3 F+ _0 T4 a
if(isLast) 8 V( ^1 p( P* {/ C: o
{9 c8 X& U; F* w+ n3 p' ]3 T# s; S
if(debug)6 G# o! H5 w( _* h+ m
{
: F% d! X$ K2 } alert("last!!");! P, {5 Y$ X( p8 B' [
}
9 F5 j2 h0 B- ]% _! N: x if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
8 K4 z% `# F# j. u% v; K {+ H1 C! H7 v ]% a3 Y$ x
orgNode.parentNode.removeChild(orgNode);
& E' T6 {3 V$ ?- ]' _1 Y+ c }& z. H Q h* k# r
}& R2 @1 \# X, u+ Z& p
else# H* P; P; E/ s0 o+ F
{8 ~" I# C: i& {$ f2 O# X) J) l
if(debug)
5 U/ m$ J! @& M& p! U {
* R0 z |( i/ \$ A9 o I alert("compare color and parent bgcolor!");
2 L' V- {8 ^# m" e# D }
9 T) m* T. O: x' l parentBgRGB=getRGB(parentBgColor);
* ^( ?- l; }7 F$ Z if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))4 E) j& p$ g7 y/ g8 }6 v1 Q
{' n4 {; a$ u' x- f* g
orgNode.parentNode.removeChild(orgNode);
# q# d2 B: L* |$ @6 | }. m9 s+ s, U6 { H: |2 x
}
2 F2 r3 G- A7 M* p/ T. B2 ^ }
, n0 ^; t1 O7 }$ V" E5 T* _ }
; s# Q8 S4 F2 P0 K }( R# X) X1 u/ H: v5 o# ~
}
- N* f$ y9 f$ \, ]; P 7 }, S" T0 b: T- {
% o8 x" v7 |: u& A var itemFrames = page.getElementsByTagName("frame");
- {8 u/ K+ g- m& }/ g var itemiFrames = page.getElementsByTagName("iframe");
# T- u1 d2 i+ e" m
) |5 ^% l. F s! r2 i var frame, iframe;
, B0 Z4 ?4 g% y+ [! T if (itemFrames.length > 0)
+ y* O# w) A1 l# X9 k& Z {* h8 i) l3 W. P; n; [6 N
for (var i = 0 ; i< itemFrames.length ; i++) 2 J& m- D, I4 u' S' n
{* j, L# W+ P. _8 D3 i" x
frame = itemFrames.contentDocument;# a+ }9 V& e) F9 i
this.RemoveHide(frame,objname);
; F5 W! d9 s2 ^& z2 k5 | }
& {. m! y3 P d( o4 f }# G- {: K. q( @% W5 L3 X
if (itemiFrames.length > 0)
1 F2 r i0 J& \" R* M! B {
; t" q% o% t+ g for (var i = 0 ; i < itemiFrames.length ; i++) 6 h# A# H7 S4 c" O% b/ g
{
, ] C: e' N7 w iframe = itemiFrames.contentDocument;3 t+ X; @0 k) Y! C: S! ?
this.RemoveHide(iframe,objname);
\6 K/ Z/ ?! o/ ]/ t8 _6 d" [ }
( U [0 V# L7 i) v# T; s }$ j/ T! \- u2 P$ ^1 l/ n6 o
}4 R: \6 b# q+ y2 T4 v7 z# N# m9 u U
catch(e)' k$ H; b. b- p1 w/ g4 e
{
" Q$ L6 T2 E$ X8 B if(debug)0 P# r$ W: o3 \ O- T
{ b( U( x1 O0 P) p: F/ |
alert(e.message);
3 R U- w0 P# Q9 j" A5 { }1 h0 ]1 N6 _* u5 ` _3 f
}7 h2 \7 L5 T n2 P# m
}& g- w9 F" T& Y* s0 o8 I0 @
9 ~0 E+ I$ P- E$ |% H
}6 G% y6 L5 @5 I9 P! E
; [" i- _* ]- W! C0 A, F5 f& ^+ r
function getRGB(colorString)+ _$ J* [! T, r
{4 {1 r5 t1 N+ k. A8 w! d7 l
var RGB = new Array;( C2 i7 j' a# B; M) C
var tempSting=colorString.substring(4,colorString.length-1);5 V2 s: N& J. a; r S7 G$ @
var tempArray=tempSting.split(",");2 `/ @! @6 W6 R3 ~5 `
7 T5 B% U% K+ _5 m; Q9 ^) |* k
RGB[0]=parseInt(tempArray[0]);
, X# |1 L! b( e4 Z RGB[1]=parseInt(tempArray[1]);
4 U0 V- Y+ j- a' H* A RGB[2]=parseInt(tempArray[2]);
+ H4 {& S* G' K7 N# }$ `
; F5 k8 R5 m8 h; s- {3 e return RGB;+ h. t) l4 N5 M5 x% O( X
}5 b0 G1 C3 E8 Y- m
function keys(evt) 9 W: }% H/ Y$ R* A
{ 3 B% y' M+ s% L. ?- ~0 _" f" [
if(evt.ctrlKey && evt.keyCode=="81") 0 }" R9 M1 G% U0 a1 a
{
2 g/ s4 J# L6 {* _ CleanHideObj.on(0,1);4 a; w F5 c7 e
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- o) D. a5 g, ?' l
8 o& m7 O# o5 ` }
* y3 z& P! u9 K7 s3 [, {4 d } 6 \( e9 U# W6 F, B x
document.addEventListener('keydown', keys, false);
7 |' }7 d: Z! e3 t/ G1 x1 c9 SGM_registerMenuCommand ('Clean Hide',3 F# {4 J( K' a5 v0 L# b
function(e){' t- K E- D# O
CleanHideObj.on(0,1)
! v: O$ S4 w8 P7 G8 J1 i8 Aalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");9 b: J# t8 J0 {4 v9 V3 D, N0 L
});
) t0 q; U2 P& T |
评分
-
查看全部评分
|