|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
0 l7 b H u6 N# y- n- K
& w0 a5 `' }0 N0 O9 U/ ]* [火狐插件,用猴子5 Z/ L3 s4 ^8 @" T/ m
m1 U ^/ R" Zvar debug=false;
6 a( Y: @2 T% zvar CleanHideObj=new CleanHideClass();
% I6 z" U4 x5 f: a" Q2 ]( G& W4 I4 c! W* B8 I/ @ H- D7 h
function CleanHideClass() 6 R4 P9 F) _5 [/ O0 z+ c" h0 ?
{
0 [( T8 O% d3 S5 k) f& s. t. J + u! J9 ]' y! }5 g# t, Y- z1 w
this.on=function(id,bMZ)) h. [, G6 k8 q! q
{
5 E+ ~/ r4 @9 u: H
/ C& K; I' n* R* J7 P3 X if(id == 0)
: J& g: j$ J3 T$ w M! x; Z) s {( ~- G" S: ]9 ?, h, u$ x" f. N9 Q' w
var page=/* document.getElementById("content").contentDocument */document; " r+ ]- D' f) |! V* w' g) w& {& \
this.RemoveHide(page,"span");9 e% b; w$ E, l* H% M+ I
this.RemoveHide(page,"font");8 W2 Z+ x3 `/ d( r6 J
this.RemoveHide(page,"div");
6 M) B/ I* [* a% I$ S6 o this.RemoveHide(page,"p");& A! ]8 r( @) {1 {- g+ u, N
$ e" O1 g% {" K5 W- T }
6 d6 b$ K/ H" L7 k7 g ! q6 ?" K6 d; K4 t
}5 Y, F( k7 I9 C/ q
this.getobjstyle=function(node,prop)* [0 K5 g1 J7 x4 s" u" Y
{
( X9 H. U7 Y7 C, p" a7 ~ try
6 w6 I5 w( N2 |9 p {4 R, ?" O4 T) i1 S) { f
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
& j: G1 j4 o- I u! C }/ Y' m. C6 ?; r# }" ]! d& G4 Q2 i! j
catch(e), j, ?$ {1 A( }$ d
{9 f8 p( A2 t6 M- D1 e5 |4 }
if(debug)
. z* A3 M2 s0 C7 l- A {
; U$ l9 N# n5 D% q7 z1 n alert(e.message);
' L* m( f [2 P2 N }5 G6 n6 m! C: q3 W/ k/ J* M
, P1 S% h3 ~- H; E, ] return "200";, c* D( p2 _* F- |1 p( K, m
}
8 y$ H. G2 S( c! `6 M/ v) E B }4 ^3 D! d4 X) O0 Y1 }1 U& ~
' z$ C! t2 _5 z# `' A8 L this.RemoveHide=function(page,objname)
7 U- |' I) A* x8 l. Q$ m {( `; u7 s6 M, h" W4 R) @
try$ t3 g) N% t+ P
{! x7 u' o! G. R2 _5 P) ]
var minValue=15;2 Q0 C) ^& j( s" ]$ G
var objs=page.getElementsByTagName(objname);
7 |$ D: s) ~" C2 m% t+ ~
" R) d' d! N/ Q+ {4 I2 B4 S if(objs.length == 0) ; C1 ]: B& R6 T) X1 W9 p% y- J0 I
{
1 S% x( q4 m7 X) h6 C if(debug)
5 P, J" X* M; ]) R! r9 y {
* n" I3 U0 ~2 ]' Y- j7 |% ?; q alert("no object found!:"+objname);+ B q* Y) N: d' g5 J
}- p- `3 q% s% L6 g
}
' x$ s+ i L. M4 c3 \" w6 Z2 u else
* {( m+ @3 m& F9 C) v4 P* I1 ^ {
9 [) |4 D) D3 p. D. L9 r x
3 ]: j9 T5 d9 s9 O& r for(var i=objs.length-1;i>=0;i--)
4 B. P' k3 ]7 T9 ] w+ } {& h" L V7 g+ E/ S& K- k W' s
var node=objs.item(i); ! h' _9 {0 M( v7 S: V* r* I' `
- K9 M" ?% V$ J
/ h& f, I& r% [# S& P6 ?* t, Y3 W4 D N
if(this.getobjstyle(node,"display") == "none" ||3 w1 I C+ w8 W5 I3 Y
this.getobjstyle(node,"visibility") =="hidden" ||
4 B3 t8 Y3 j0 j+ g. j8 j, s parseInt(this.getobjstyle(node,"font-size")) == 0) : b$ X& p1 s: z9 d
{
% X7 C% l9 {5 x if(debug)7 a1 A! e2 C; H" B/ B. u/ ^
{) G6 ~. e! x7 I8 B$ Y; S
alert("remove invisiable!");
# q7 I1 _( W$ L* b4 t2 d+ s) ^! | }
3 a% R, B. ]: B1 N2 s& v/ S* X node.parentNode.removeChild(node);
/ N- z3 C% g% l2 l/ w. L
) }& R6 F. L# k2 T }* q' V% `( e( A$ F) o8 c
else
& Q0 ^3 M4 L4 @1 @3 p1 u* X {" j* U- g$ P6 E$ s( G# w* o
if(node.parentNode) - O# b# b7 e( g I& s! a6 V
{
6 ?: |7 l \3 R9 g5 B" Y var orgNode=node;4 T5 i c* v* I& Q% J
var orgColor=this.getobjstyle(orgNode,"color")
4 E& i0 l6 ]( b4 s* X+ z& T var orgRGB=getRGB(orgColor); l. X3 V+ G, F; a( U! ^
' w# u) L& T- w4 u' G var parentNode=node.parentNode: \% s9 A g' _- ]' D
var parentBgColor=this.getobjstyle(parentNode,"background-color");& n9 _. p, `! v
9 o! l3 Y. ]8 ^+ t8 F( c var isLast=false;
9 Y9 h. E! k" b3 t* \ 7 S3 f2 l$ s! A& X& x
while(parentBgColor == "transparent")
* j+ G/ p2 `1 e% g( b1 B: a2 B; \ {7 f" @8 Y( p1 \+ Y. J5 j' S
M6 F( A- \' f7 Q7 p _9 ~/ g" e
! E& C6 c+ D0 m$ L
if(parentNode.parentNode == null)! y# m" X: R# R& w: g6 `
{& O% Z5 F4 k6 _5 B1 J8 f
isLast=true;9 o, d0 T: L1 N; Z _
break;0 ^) v# e% w- v
}
2 K- B, D0 Z( x2 a1 r. U+ n parentNode=parentNode.parentNode;3 W2 O6 l7 P. _: e, L8 B( Z
parentBgColor=this.getobjstyle(parentNode,"background-color");0 Y8 _3 j4 @9 E; o# I
! J w- W8 D6 \" w" D8 W if(parentBgColor != "transparent") 4 A$ \" u4 V J0 v0 Z2 c
{
. h* l {! B7 | M break;6 k" y7 Q Q+ i/ ^5 k( L( `0 |/ a
}2 K% ]% ?! t( Y0 A6 ?' J1 }6 h' \
}
; K4 @7 N9 X+ d: J) z2 z* S! @ if(isLast) . x/ h/ W* m3 y# e; G4 P8 ?. C
{. B2 Q% r! j8 l
if(debug)$ ^4 ~, J" y! o" x# k I
{1 y: U5 v* n0 h0 w
alert("last!!"); D) u8 r4 k% m) A( L
}$ R1 q2 m H$ @1 F+ ^( _
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
( N7 m" j4 ?3 e* V& F$ K: h {
4 u* y2 G8 `/ a3 e orgNode.parentNode.removeChild(orgNode);
& n& C) b* T0 K7 S' A. v }0 m- r* a- B0 |; v0 ^6 H
}
7 v+ C4 |4 \) M4 L/ ]7 i7 z else0 H) G5 |4 r$ o! M5 v
{
% _ u) z. v) e$ Z if(debug)
" o2 O! I6 H8 p3 R/ W {
) M! t8 ^( v* s+ S alert("compare color and parent bgcolor!");2 T4 o$ g5 u0 X# S
}3 A( T' J% h3 _3 ?: P3 h
parentBgRGB=getRGB(parentBgColor);8 J! v$ P% u* @3 U
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))* L4 }+ K T2 r% Z8 _# U
{: O2 v$ |& z+ r9 C# R) T4 X7 y' J* z# B
orgNode.parentNode.removeChild(orgNode);
$ u3 _$ @: v/ ?, ~1 g6 x8 I; r }
" r+ N' o1 O" r0 C }: b4 w. Y6 X) y. T
}
7 H$ Z3 S( {, R3 C6 B) {' c }
$ ^" G& v: ^1 o" v+ l }$ [, f+ r" @ Q
}; z! H3 Y* l) }9 @' l, V# E
- o7 E& d6 s3 o7 R4 D
1 v7 J, d8 ?% I& k0 c8 d# k, H$ G var itemFrames = page.getElementsByTagName("frame");
& a8 K! Q3 \1 G/ }0 U/ G var itemiFrames = page.getElementsByTagName("iframe");
$ R/ V C$ o$ [0 Z9 u# H
' c4 r% L+ }7 S( p0 x var frame, iframe;. G" X$ P* f5 H: ]1 k
if (itemFrames.length > 0)
. `# Z( g* ~+ b$ L& Y0 Y0 Y5 D& m {7 d5 d9 ]+ g( K% n) }
for (var i = 0 ; i< itemFrames.length ; i++)
) q3 q* m# d+ d" B {
0 n% B. p& s4 U& l1 h3 y frame = itemFrames.contentDocument;# g$ R5 G F: H+ S8 k
this.RemoveHide(frame,objname); * g v" W9 V' e: F3 I6 \
}1 `& v9 e$ a$ f g# h, |
}! A& p( D @+ u* H! Z% @
if (itemiFrames.length > 0): R0 x7 p3 d) n, I, V- q4 Z
{+ N3 R! q( l O
for (var i = 0 ; i < itemiFrames.length ; i++)
8 w0 E8 V! r" W0 p) Q- w$ M, `/ l$ ]1 i {
2 O, U" o+ L, C. T3 L( x iframe = itemiFrames.contentDocument;" \* j! U2 J; Q0 u: H$ r
this.RemoveHide(iframe,objname);
0 m. S+ Q! G6 D }! X! A1 ?- Y! _" T& |6 L* Y' h
}* P7 w' T7 ~0 _" Z' r& {& o
}
- r0 O5 M" H% N- s4 H catch(e)
1 K( n! Z, m _7 c+ L! e {
& t6 u2 G: Z# J8 B( l+ W. h if(debug)
: I8 ~1 F" [2 V3 y {
' H6 l2 ?# K1 I( z) H alert(e.message);
4 e. v1 k/ j' B7 n0 e- B- b }0 q9 p9 d y: v! |
}' ^, f1 D7 P. H2 c: v; u* h
}
1 x1 S( h" _: o! W' [% Y B: O0 u: @6 o- ]. h* @* y9 g
}
0 S1 P4 C: P5 S9 |' o; |/ E# F# J* W$ | t
function getRGB(colorString)+ q2 b5 G. g- e D
{
, c: j K# x. {7 ?. G$ m var RGB = new Array;& u" y3 a2 A. r# d) g7 n6 K
var tempSting=colorString.substring(4,colorString.length-1);7 K z2 I2 x2 L, {
var tempArray=tempSting.split(",");
" S- g" F- j5 m' X% O4 o
/ |/ L- @, x9 |: Z9 }4 Z* F RGB[0]=parseInt(tempArray[0]);1 s% Q8 j% Z+ `. s( [
RGB[1]=parseInt(tempArray[1]);
0 r+ E( x6 S# Z7 \, f: \ RGB[2]=parseInt(tempArray[2]);3 ~7 R5 ~+ h9 S$ |/ w% S# T
" @3 a/ X; Y5 x2 y- e% G* ` return RGB;
) }/ X. N! |0 _' I. S# M/ w}
1 K ]1 m7 U& k" v% A3 N' [2 s) l) E& Wfunction keys(evt)
2 l. _. R; ^' f" _# g0 W { 7 E, U7 `( n0 G, X. F% G' @
if(evt.ctrlKey && evt.keyCode=="81") : W z# P+ H$ y7 p$ F# L _
{
' w- g8 w: B& e9 z, h2 X2 h" E: t1 b CleanHideObj.on(0,1);: j; w! L, N8 p2 X8 A+ t0 {
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; b, |7 D: m: H! C; t
- h1 o" q2 u+ M } ! L. a* M! g7 r* W) k
}
& `! F3 i0 n1 Z9 t. E8 b7 }document.addEventListener('keydown', keys, false);
, ] v4 Q) F& ^6 w9 Y( PGM_registerMenuCommand ('Clean Hide',4 o4 i9 b. E- p7 }1 {3 K: k
function(e){
* j1 J- V# j% O* eCleanHideObj.on(0,1)
8 t( d) e; a+ ?5 K9 nalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 A( `/ h! J8 l
});
9 B3 y* \+ Q% v5 S" p |
评分
-
查看全部评分
|