|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ P; r. Y8 u' G- ~
+ i6 N9 Y2 q* z C" |, z火狐插件,用猴子, j* a% h$ {0 w6 |: z
) ~9 t0 J' p4 k2 a" {% R0 B& ^
var debug=false; - [6 p2 Z7 I. e
var CleanHideObj=new CleanHideClass();# F9 q+ g5 x* F0 Z
9 ^2 ]* f, Y# z5 K' q, S- ^8 n
function CleanHideClass() & M n; r% E4 R0 |6 E( c
{ v. N; U9 A; m
% f9 W# a) |* ?; Y5 @ this.on=function(id,bMZ)" p' O) W9 W; x$ U( \
{
( s( ?3 e- R+ A, V; Z % H9 G5 D7 M8 w8 P; l1 o2 g+ O
if(id == 0): U! ^+ X: k; z5 l, J) }) l; m
{
: c) E; L% A! m# t; J# \8 Q' q var page=/* document.getElementById("content").contentDocument */document; - V/ Q+ f) Z- K5 J3 j9 G
this.RemoveHide(page,"span");( P- \! y! S/ ^7 x' t0 Y: q/ _0 U" s
this.RemoveHide(page,"font");- F4 b; a- n4 D6 O$ T0 W
this.RemoveHide(page,"div");
5 e) R- M4 X" z) z4 ^ this.RemoveHide(page,"p");$ V+ X; Q1 q4 ^6 [2 a
+ d6 U* @- z0 s, b' C }& f: }9 \( c- ^3 H( H3 O
9 `5 g: a1 E4 E: i" l
}
5 G2 d! }0 N% }' I. \( p# y this.getobjstyle=function(node,prop): ^& Y/ P5 C' o% u+ P2 g1 [) _
{
( y# q8 M" g* F/ I+ N2 [& R try
9 n2 E; s6 V0 d. T( d$ _ {2 H. Q$ _5 D/ `) T! s
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 |8 i6 r5 E6 d8 b* y2 p }
# k) Y2 B4 u) o2 c; o) x& s" K catch(e)
' b9 \" Z) L+ K Z7 B7 Q1 [* T; F {
# L8 U# ]0 k1 @7 r if(debug)
6 y1 I4 I3 T: d( ~ {
: J6 k$ `# `; u0 {+ S$ `- g+ Y alert(e.message);1 A+ w6 z+ N b7 U- e! \% @
}
9 p; v7 e5 Y/ r6 Y0 u( B
" O+ G. D; y2 C: j% }) C return "200";3 n; d# B7 S: H1 r
}" q& Q, [ [+ U$ s
}
( h2 |# F# X* B# h% k
5 j* [9 q0 W# [! ] this.RemoveHide=function(page,objname) ^2 j8 q2 k. k; m. ]0 E6 H' W3 D
{
3 u# B/ S& |3 k- A: m try
% q9 @" r$ R& ] d4 I {0 t% _1 Y3 z7 z' y: n3 ?% _
var minValue=15;
0 K1 t7 r# }# K9 H- ^3 ~# N# k& x var objs=page.getElementsByTagName(objname); 9 F0 }" [4 W, x& a- h) s3 V8 r$ Z
! P2 v6 c4 X9 H; e* n if(objs.length == 0) % a( Y8 T$ G) v% a
{9 o6 t# f- ^) I0 o. S+ D3 X/ ^. p% _
if(debug)
# V5 @" _' s# x7 R9 m8 A; j+ ]- U {
4 N" e7 E& v! m3 \; |' c alert("no object found!:"+objname);
4 s# A i! p9 ?* k }6 I- b* f6 |" c+ W* K( _! _
}
$ W- U% z" r) e' n: P0 O9 V3 i( P else
- n F; [8 d; p' @" H {( [" g K% F0 Q5 H$ _
: t2 F2 A4 G; e' H8 G% `5 }
for(var i=objs.length-1;i>=0;i--) " I5 j0 p' Z. ]/ l) v4 R
{
: T: ?5 I* v: V var node=objs.item(i); " y& l# n) B, k6 w9 b
( @5 {& C8 ]/ y1 i9 Q
! U+ t0 q+ h# T if(this.getobjstyle(node,"display") == "none" ||
( o2 @# Q. L/ y U- m: k- ? this.getobjstyle(node,"visibility") =="hidden" ||- A! Z" u( _* b& v0 v
parseInt(this.getobjstyle(node,"font-size")) == 0)
: N' W. A! r: c2 V9 l {
8 N: S4 k' O% `5 L0 B if(debug)
- M* J6 j; U8 F! k {
& x5 }$ D5 N9 j alert("remove invisiable!");
( Y% K0 F7 N' K; d8 z) _ }8 e |. Q: q$ z) F/ }7 G) G
node.parentNode.removeChild(node);
8 w8 [- K, T6 D* U, r & ]2 h3 x& D0 w6 M* B8 X. h
} ~- p8 K$ {2 Z' O! a% \
else
4 \/ u# q# A* U: \ {
y" M4 ]3 D4 |& c% ^4 h* T if(node.parentNode)
' c' M4 @* W4 @- |( G* `; a4 N {3 s. ^4 v6 v1 Y$ r6 o& k# j1 X
var orgNode=node;
' a% z+ j7 | O0 ?, } var orgColor=this.getobjstyle(orgNode,"color")& L& b: Y$ J" H; {1 P3 Q9 |# o$ D+ T
var orgRGB=getRGB(orgColor); U" O! R# M8 v3 Z9 I: J
8 K, ]" i9 J3 b/ x! A/ M var parentNode=node.parentNode
( U. ]3 B+ S1 d var parentBgColor=this.getobjstyle(parentNode,"background-color");
: r7 B7 ?/ U% D9 u7 h0 ^ 4 ?( W5 {& U' k
var isLast=false;. B, c( L' V# ?3 \! T. D
N J) D+ A: f& E3 F) r9 s
while(parentBgColor == "transparent")
7 s' X0 W% Y& N {
0 N5 s2 a. t$ `, O . p- q" W6 I. C4 I0 |" I, u
9 B' {7 P7 ?2 c' t if(parentNode.parentNode == null)
2 E9 J/ U C* _& z6 W) J: d% T {4 W7 U3 L- ?; b3 U
isLast=true;
; ~7 N5 V) m+ V2 I( C& U# @ h break;1 M/ S6 B2 D# u
}, {$ R; j& N6 \( C* L$ v
parentNode=parentNode.parentNode;! h2 Q( V$ e1 e. r
parentBgColor=this.getobjstyle(parentNode,"background-color");
. A3 q% c- W9 o; C% t% L2 C
+ A$ ~& }8 o4 G" j% B, n; U if(parentBgColor != "transparent")
! {+ |; [6 \& D5 `+ C {: w( O6 y: u1 @+ N+ b- H
break;
9 ~3 r- O3 D4 V2 r5 T }
4 _# \/ q. R- b3 k }
* f q( w' G, U8 a2 x# C( d if(isLast)
' |0 ~1 N+ x' H( Q) ]. l {+ D, H/ I$ A6 w: V: j
if(debug)% f; U* R( g! Y$ [ Q
{& g9 u7 @6 _! N' J' E0 Z
alert("last!!");+ k1 m, x; `6 I, O+ z
}0 c% v! v5 w; l' f* q! S C
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
( {* c. }/ f& |- {* a/ ^' E {8 m+ u; T/ E- T$ R& L% f8 |
orgNode.parentNode.removeChild(orgNode); $ Y' J0 W2 E( C6 W- a9 m
}
, d3 Q( p& f0 P& L- H }
+ i, k* k1 r" C4 J( S! B+ r1 T2 N else9 T0 q% L' e* ` f* s+ a6 L h
{
6 w# T( t# v: ?# W7 j if(debug)
) _$ `1 z) O/ F2 Y {8 s% }" I# c, T" \
alert("compare color and parent bgcolor!");
8 h2 p5 Z) l& {3 o/ g }
3 k" D6 F& v" U2 N5 M parentBgRGB=getRGB(parentBgColor);
) s7 W1 ^8 W/ k# _- P# [ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- @# N* [ S# q, t
{
& F0 \, R- k6 B! L+ |# q: o3 b orgNode.parentNode.removeChild(orgNode);
& k* m' m6 |( c1 w; x* Y }
& U% l9 `1 E0 e. f: k }
. }0 S. h2 k! s }
; ^* m7 X, q# _, L, O0 U" B8 ]6 m2 I }
- ^1 `0 J: R4 e/ h" Z1 v4 F$ d }
( P; U1 A; M {: B1 E }+ q1 O( q. E3 U. m% e) l
7 n" k( i$ j# u. _, T- ]
7 [8 {' @3 B) k! e8 q, ]7 T var itemFrames = page.getElementsByTagName("frame");
$ o1 f4 \+ m8 t* c9 p5 u( c var itemiFrames = page.getElementsByTagName("iframe");2 P& ?) k% `' V: v0 w+ S% `
: \# n# @7 z/ }& Z
var frame, iframe;$ ^& |! e" @# a% i- m
if (itemFrames.length > 0)& P0 l( c: r. }* d2 p. d$ U
{
- h5 E1 I4 z3 p% a! G for (var i = 0 ; i< itemFrames.length ; i++)
, d7 ?3 z! N2 D& c8 [0 E {
6 X9 n: G: k) j" b" V e frame = itemFrames.contentDocument;
0 G4 w4 {1 |3 {/ C5 d# V: p% J( \: V this.RemoveHide(frame,objname); 8 y8 K. p4 S1 p( o/ }) s7 J& ~
}
/ e D* f$ C& n }
1 u5 z) |$ L2 a4 I P( f1 N if (itemiFrames.length > 0)( @6 u' @# [8 {4 w& o k1 q
{
! Q: @& @6 t6 \1 o3 _ for (var i = 0 ; i < itemiFrames.length ; i++) ; \; j* E5 z) Y9 N* {% e+ V
{' ~# c/ l) Y5 D$ p% ~1 }* i1 m
iframe = itemiFrames.contentDocument;
& J" U( x1 u9 {4 c2 K9 W$ s2 V( ` this.RemoveHide(iframe,objname); * f8 T, \6 R$ k5 t$ I2 B/ {* _
}
* Q. l" X9 m8 v- M5 p i }2 \- h E6 ?6 J1 {: j
}
1 Q$ p) [1 ~5 }' ] catch(e). B l% O; A' ?% Y0 g) v6 D
{
) R' ~ @8 \+ c( a. j4 C if(debug)
8 B' @$ x3 A& c I; k' k1 o {2 d: s4 X1 R: w: A0 \
alert(e.message);! B5 B ?8 j1 z' [4 f4 A: e
}
0 u! }3 o' c$ {+ ^ }
: n- M% M$ C1 o6 m! f }
( h, n( r3 Y( c' b3 V3 W- a 8 p* O$ r7 M+ L0 g. z
}# i/ D. n0 s5 _4 O- {! y/ ^
$ u* x) }: e3 R r$ q# s& y
function getRGB(colorString)2 F: x: P/ d' R; T- m
{ `' W0 O# Y7 S2 C
var RGB = new Array;; m9 _. K2 I. X: B7 r
var tempSting=colorString.substring(4,colorString.length-1);
( x9 t+ M7 x9 s0 f1 d6 M3 o' h% @ var tempArray=tempSting.split(",");
- Q+ O# I: t. t% y. g# u
8 x. U( w6 X( \( n9 J RGB[0]=parseInt(tempArray[0]);
1 A1 V: U! _$ v1 n* e0 \- S RGB[1]=parseInt(tempArray[1]);
+ C: L# G8 {4 j* n) G: t% } RGB[2]=parseInt(tempArray[2]);
! q- y8 S$ l8 U* J/ @) T! u 4 K) b' N1 d0 B. j
return RGB;
4 m3 v4 {! ?/ z5 J, }}4 r2 ~; r& h/ {% a; d4 g4 C
function keys(evt)
6 G& i+ @/ V( W* H8 ]1 u {
, u* d9 _- R3 a if(evt.ctrlKey && evt.keyCode=="81") * x j) l6 I% F' M3 r- u& w
{ # r# [5 j9 U5 G" g8 e
CleanHideObj.on(0,1);, j6 ]: g Z c- `# M
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); , o0 A; {. x' P8 u
" j5 R$ D9 q" g+ J" g% d; v! h: I
} $ u8 Y4 ^* R5 S
}
6 c$ N+ s, L& r: k( E5 Pdocument.addEventListener('keydown', keys, false);
9 Y" l9 C6 @. \, g! bGM_registerMenuCommand ('Clean Hide',
" H- k3 v( P2 }function(e){; N% v o8 d6 v' j0 u
CleanHideObj.on(0,1)9 U' n' Q0 {8 y* Z. A
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");9 D8 r6 }& N3 N) e
});
9 b) [+ M+ E2 R |
评分
-
查看全部评分
|