|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 / W6 I, X3 f \2 Z# a, l& S) `9 d s
: k6 \8 _3 p0 Q! V1 Q% V
火狐插件,用猴子* V9 R: o! z6 V3 B3 i
- \% a! k) P; F+ y0 e b
var debug=false; ! u8 O5 ^ O1 k* j
var CleanHideObj=new CleanHideClass();/ r5 S2 h, O0 F0 D' A) w' _
t$ `* n& T1 J) d8 b6 u5 m
function CleanHideClass() & u8 M: g0 ^& ~( o& X
{ 2 t7 L: Y4 v7 Z2 d; ^
) b$ I8 r: L5 { this.on=function(id,bMZ)
% B" a, Q% [4 q) ? {
% G5 \+ l8 y; m; L3 \ }
9 X3 G9 u) d/ Z8 K% A& D5 T( i if(id == 0): X+ `1 Q1 `/ N
{5 C# Y" V( g% P( A" u
var page=/* document.getElementById("content").contentDocument */document; 7 j( G+ p4 h6 N% T& w
this.RemoveHide(page,"span");) m7 F4 M* ^! U/ H6 C& g; c; o
this.RemoveHide(page,"font");
- ^' ?6 b; T7 e) @! ] this.RemoveHide(page,"div");
/ c" \$ q2 I; V/ ?" u& z this.RemoveHide(page,"p");" ? O: _3 g6 T' c p) k+ [
G) X7 I; N/ c9 F a5 o
}
H8 m; h# E+ e5 s# { ( A# `8 l2 T* _0 c. P5 m+ u
}+ L4 C: s* q1 S; R: _% k+ s0 {* I. i
this.getobjstyle=function(node,prop)$ x9 I4 Z& i1 Y8 e E$ [
{( C& q, H/ U3 l! h
try: D* B% H/ a( [. R4 p1 B
{9 R( Z* e( J7 h% v2 |
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
( L' b( H! R) f/ ^ p }0 k( Y" ]! Z; o
catch(e)
0 ~+ N! }/ D) Q3 e! k {
3 ^; a1 g8 O" r" ^1 Z if(debug)
5 B8 c; N, p1 g) z+ t {6 C2 M( H' h, \9 a
alert(e.message);
b% Z4 x/ x% q }
8 \: r6 V* s8 M) k0 R2 t2 a & A7 G2 |, ?; b" `- v
return "200";
1 O' e8 r- ^: R }( s: } j/ j. [7 o7 y
}
) I" g# X1 W/ a3 G2 x' j1 K9 T
) c3 g9 ~5 F' Q) n1 q this.RemoveHide=function(page,objname)
8 `! A9 y, n% I! [* x8 L7 y' Z1 w {0 s$ o- @% c3 z) y
try
1 g* e) }- M+ E3 y8 M4 o. H& X {- K; V7 H( s6 q. G6 `" P% e# J
var minValue=15;, D; A- ?8 k, \3 ^
var objs=page.getElementsByTagName(objname); 1 U/ t1 [# x0 x* U: d
5 A8 q, I- A. V% P% |
if(objs.length == 0)
, \+ I0 v- A* f- l4 ^, ` {
8 O, J8 U" G6 ^( F6 t- G$ Y2 B if(debug)
. x2 C* w+ a1 l {( d4 [, _6 T7 W0 k7 Z
alert("no object found!:"+objname);* h+ g3 z. e7 G% A- A! \
}
* Y$ s( R; |; ? }
! b+ A# g4 j; Q* O3 D/ P) n# q else7 M! Z9 S2 f, H' ]0 i) t
{7 y5 \: W; K. r P
7 `# m6 i7 Z2 J) G) j9 w
for(var i=objs.length-1;i>=0;i--) 4 X# }2 i7 M `6 e( O( L: u
{
( f' u; ~5 i# Q ^ var node=objs.item(i);
9 @2 _% R+ s& |' |6 @$ K5 n 0 \7 f7 d% ?5 J, S( n6 Z) I
" X6 p T0 F0 G* ~# I. c7 G% d \+ B if(this.getobjstyle(node,"display") == "none" ||
6 Y& b9 n4 Z" d6 z this.getobjstyle(node,"visibility") =="hidden" ||/ |+ z! Q# I# d
parseInt(this.getobjstyle(node,"font-size")) == 0)
; I* @4 O: L# v- _ {' I$ U+ B3 T" g6 R8 D9 m
if(debug)
2 _+ p8 K! P+ n5 ~+ P, N {# C# p/ a' o/ f# x# d
alert("remove invisiable!");
$ Z) @$ [& n W2 u9 } }+ D& M2 d, E7 E
node.parentNode.removeChild(node);
: G/ n8 H6 X- F% c n; ? / o- ^1 n. r6 O
}
4 y1 d. Q# m0 j5 {# u% [8 X else 0 [1 l- i; u Y2 M; ^6 B! C' Y
{0 o- \+ t4 n* ], p
if(node.parentNode) + ^+ _ V: v& i0 Y) _+ @
{
" T( E2 [ d2 C g var orgNode=node;
, I4 |. N" ?5 i2 s; {2 V var orgColor=this.getobjstyle(orgNode,"color")0 d$ s& D4 [. c2 s7 n: j
var orgRGB=getRGB(orgColor); 7 d- P9 |7 K4 ^$ Z
1 s; l* S8 ]) S P: J
var parentNode=node.parentNode
' o& b: D8 S4 ]; u var parentBgColor=this.getobjstyle(parentNode,"background-color");- _* c$ {- I; ?8 @2 M2 O
1 D; I$ K) L3 W4 C7 ?" w( Z5 x var isLast=false;
6 g' q: ~0 N7 [+ U ?5 t: s. R* W9 B
( y) @$ B/ d% N3 e while(parentBgColor == "transparent") " p8 y% I% _8 H% o
{
* a5 c- s# H! `6 B |: p! N. n% J" D * r/ y6 e+ l; e3 L1 N3 y: A
+ A9 a: v' d% T. X+ J if(parentNode.parentNode == null)
# a4 t" E# y8 s7 h& _ T {
- F# d$ q& P8 U& {4 Z9 W isLast=true;
" L* ?) ~! E; r' l8 ~' i: y break;5 K. G7 \. p+ W
}1 u/ O- c3 d9 D6 O
parentNode=parentNode.parentNode;. z4 V. t6 q* {2 t4 \4 m
parentBgColor=this.getobjstyle(parentNode,"background-color");5 H8 n h9 k( y. \, |# m; S; H
9 c& J# z& V5 u- b if(parentBgColor != "transparent") 4 X5 }9 O* f2 V+ ]* ], ]. i
{4 R) S0 E4 ]( [* ]
break;
& X! j# b) \5 d x9 n9 ] }
$ s6 p/ ~" b( g- t. @ }) F5 H6 M& a ^9 ]; ~" Y' ]$ A
if(isLast)
" P5 A* p( w0 ? {
( X" z3 K: o. g& R5 k! R if(debug)
: K- s ]% C5 l$ _ {
. S3 Q$ R9 s5 H( O& Y0 K: T alert("last!!");
0 T u. }" M7 l3 z }$ g( k4 b9 Q, T9 a F, g3 y
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))* E6 u+ u5 F1 |( a# H' a) n
{
2 W5 V7 f& p# d/ z# Z, F$ p orgNode.parentNode.removeChild(orgNode);
) X& g* W8 h, f: u }, J2 q# C4 t$ P* d& g4 B; ?4 A9 |; U
}
* N* V. }0 J# I3 W* w9 X- n else
2 s4 f# k' p" p, V+ C { ~, r5 m4 `" b; _! [+ d
if(debug)/ ~, Y& R" W" A# i8 U8 S
{
; y5 P. l4 g/ M+ M$ A alert("compare color and parent bgcolor!");
. z' h5 ], Y) L }
4 q! S, Q: o, W* J parentBgRGB=getRGB(parentBgColor);
- C+ f+ |6 D# I/ ?; P if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
+ }! r3 y' ^( z7 D {
1 P6 \, U6 ]4 J orgNode.parentNode.removeChild(orgNode);
# ~! d6 r6 ]9 K8 t9 ^ }* s6 L) a0 l, W, u
}
1 L) z" E( \ P: R; _/ S2 t' p }
$ V* ?- l0 a. `& ` }
; W9 g F! U( d0 S$ ^ }
# A! a: }4 z" S/ u% S. W }
0 Z& Q+ S4 n; B8 S) |/ \5 U7 r
* X w6 I6 P1 W; Q : n% }1 c1 s, Y$ ^5 O0 W
var itemFrames = page.getElementsByTagName("frame");
5 w' z, S5 Z% z+ s& E) { var itemiFrames = page.getElementsByTagName("iframe");% \; h# g7 f- E1 k
( `7 t) U: s% A; q( J& j/ C( y
var frame, iframe;. N- b7 h* t; _' C2 N" [- n
if (itemFrames.length > 0)
* B; {' `2 C% G( w6 X {+ w3 h( Y% [: S6 g9 j
for (var i = 0 ; i< itemFrames.length ; i++) 5 m+ M* a3 T8 L; Z
{: {! ^1 r9 y. n9 |+ _( h C2 V
frame = itemFrames.contentDocument;
. J# B) N+ v/ _: R6 G1 U! ] this.RemoveHide(frame,objname); ( Z G, W, A" b& Y
}; @" Q- X+ J- ^. m( p
}3 W9 t- w% R& K5 l( k. K, r
if (itemiFrames.length > 0)0 Q v F' d9 p
{
) B, f! [" ]# q3 @! L* y for (var i = 0 ; i < itemiFrames.length ; i++) + |) t8 [9 _( t/ B# Y* g
{
9 U% W+ f! S& E) w iframe = itemiFrames.contentDocument;
) f7 p% p! w& q% J6 q this.RemoveHide(iframe,objname); 1 I, N2 K. F2 d& E# `" ?$ H& X
}
- @# x" p, `8 }: v } y2 Y- H; A. W7 D
}
# K; H) S8 @- t; g( h catch(e)
- R2 I) i/ z3 W0 J3 X8 C2 V Z {/ Y! ?) ~4 v' _ ^4 Y: b& B8 {$ C
if(debug)' o+ F& q/ Z, r
{6 d" @3 z1 n5 ]; O( W4 s
alert(e.message);
- t! _$ x, M9 u- M }, d/ m/ i; Y: I+ [# W+ e: \
}% L/ [/ N! [' _; \6 F+ K2 ?2 j1 s
}$ X( L& {1 p" }1 X0 j$ c( u" m
8 R8 Y" {( d1 c% E% T}% w! k4 b7 k- X" ]1 D
/ c2 V$ \9 l; |! Xfunction getRGB(colorString)3 y' i5 ?$ }7 W, G+ n
{
7 ]- n: j% Q7 m4 h: A var RGB = new Array;
. x' d; C- }$ V- e, I# R var tempSting=colorString.substring(4,colorString.length-1);8 w) ]( c. @" L3 M0 f* z
var tempArray=tempSting.split(",");2 C# I* F6 t/ ?7 a$ b
2 f3 Y1 v# T( Y- t; l2 O2 D( x0 { RGB[0]=parseInt(tempArray[0]);" T9 g8 ^: s; W6 c, P
RGB[1]=parseInt(tempArray[1]);! M7 X( U. G) u! y: r! ^) g" }. |
RGB[2]=parseInt(tempArray[2]);3 ~% @5 Z+ h2 j1 b. z$ A/ {: f
, }, M) h: I7 W: G% E
return RGB;! ~3 T4 J9 I/ Q. A' M: E5 U
}' L2 C% t; U5 j5 S
function keys(evt) 7 E9 ~" Z' Y# z0 C/ E# R
{ ) Z4 X1 \7 f9 |
if(evt.ctrlKey && evt.keyCode=="81") 5 z' @5 ^' u9 e* ^
{
: [. [1 C' D3 i7 i h' H! v# o \ CleanHideObj.on(0,1); f- R: n+ e+ E5 u; H. }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 Y& v( G5 [8 k& P. a- ~/ L+ {
' f& d3 }: Q/ \( K# w* l& Z3 a }
# t3 K5 \& b k" F/ L }
6 o( X/ N Y Q3 C4 f9 [document.addEventListener('keydown', keys, false);
' k) ]" {, ]) t+ QGM_registerMenuCommand ('Clean Hide',/ f/ d! O5 G* a& i* K
function(e){. H6 f& D6 b& c. Z( R5 k
CleanHideObj.on(0,1)
7 E2 A8 t4 i9 D0 y/ Z9 Z5 E: C, ]alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 w s: v; E1 f7 `- v- C
});
{' M) R' E b7 I$ M" W% A3 U |
评分
-
查看全部评分
|