|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
- A# X/ a" {5 Q7 C4 Q) q" |2 c# @+ Z
( H$ e' F. C9 A$ s火狐插件,用猴子) T/ y+ {! G) |4 h; U8 c* U1 j) ?) _
4 v# @* {% l4 k, u7 {2 hvar debug=false;
2 a- y# z+ ~ _4 \; U1 hvar CleanHideObj=new CleanHideClass();8 ]6 Z% w2 p* s# C V* C& c8 E+ \4 A
: t, y- R: |6 ^- K
function CleanHideClass() 2 S/ ~% f7 j+ }" ]! [7 r
{
: z3 @/ l4 ?$ F, n8 H, n: \
( s2 W1 W8 t2 o d0 ] this.on=function(id,bMZ)2 R+ h/ L4 P/ X6 c, V; {/ k
{; [. x( }) u( A2 G/ A6 c
; Z5 A7 [& ~: n- [+ X if(id == 0)
1 p3 [& `# Q1 _! p {. U) s, E8 |' Y: | \0 e, ^
var page=/* document.getElementById("content").contentDocument */document;
, z/ H3 C" u7 i; R/ g* u* ^! ^2 \- n this.RemoveHide(page,"span");- V3 T& z; c$ y) e# o. U" G
this.RemoveHide(page,"font");% d6 Q% W7 ^# q
this.RemoveHide(page,"div");
5 z) k R, V5 `2 _- B this.RemoveHide(page,"p");
R7 e8 c* n0 D) g ! N$ p- }% ?, N( ^% x. h9 t
}
/ i9 p% ]: t1 Z$ I& J" z8 h
/ k! l$ i' G2 q6 x( k y- x1 ] }/ B( [$ v4 q4 U D M
this.getobjstyle=function(node,prop)
9 K @0 h8 Q3 h% i {
# o. M4 A6 l9 p S0 B# k4 v5 q4 b try) [) K, z. ]( ]9 ]. k
{
; t: z% j7 Q$ P' G return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);1 `; Q* t( f# u' F
}" Z3 I' R* Q: B2 O) E
catch(e)
* Z/ h8 n& C& B: X2 H/ L {
, y. `9 ?# ^/ r/ U f if(debug) c4 g% U3 F1 a& L
{ v: I! {; G2 H, e3 j0 t! }# F
alert(e.message);
) s, n/ G- x3 p2 P6 Q }
* k1 h) X j1 H& S6 }/ N7 \ / T% D: D7 }; o/ g1 S0 p9 h
return "200";
/ h3 |( ?) Z, e, t5 y }
! F" d% a# i) u9 k3 @ }+ J% J% A, k9 V0 V3 a8 C; ~
4 P4 { Z! ?% `9 v" x" X% p& O
this.RemoveHide=function(page,objname)4 p4 m! v: ?4 M0 Q6 C
{
e# c- U0 Q( J try
( k- P2 s, D$ ?+ Y {" p( n0 \7 }1 {2 N9 o2 m
var minValue=15;1 b$ C3 w1 i% b5 k3 P' \
var objs=page.getElementsByTagName(objname); - R. B% Z( R: X6 a4 z
7 w* w( z0 G3 g: A
if(objs.length == 0)
( n) n6 {$ O& h( q6 b3 g {; o# i* i$ Z/ H: H* R5 g
if(debug)
- y; X4 D& Y, l4 k8 v- R { Q* E6 L1 x, z9 m# |
alert("no object found!:"+objname);
6 m5 d; C) L) r }/ V; Y/ F* A1 q3 D' a9 I, b
}. r+ W; X Z" R& Z+ U: S3 \5 H
else
! z5 [! t h/ {7 \$ _8 j+ U% W {* I9 ~! N+ g8 ^0 U; H, l
2 R( J, M1 X6 [9 t, ^) V
for(var i=objs.length-1;i>=0;i--)
1 ^. \+ k' e& h0 l* K% ~ {
# L! o& M9 ^# B3 P; o( N var node=objs.item(i);
& p, \: f# Z9 @# [ E
8 E) Q% W! M) E9 `% k8 k3 ` 7 f( q$ q8 S( M( b) F( u
if(this.getobjstyle(node,"display") == "none" ||' B$ x' F& [$ t, p X3 Y% X
this.getobjstyle(node,"visibility") =="hidden" ||
/ A" l' {+ F/ O+ k7 V parseInt(this.getobjstyle(node,"font-size")) == 0) + |" V; t4 J/ ^; u
{8 m0 b+ j/ o( M5 @) v
if(debug)
: w8 k% X) V( s$ v4 Y {) T% c/ C6 \5 Z) ]/ P
alert("remove invisiable!");9 T5 v1 w, a/ r" C' L) A$ r
}, U' g; v) y8 P+ L: s2 ^0 b
node.parentNode.removeChild(node);/ s& {5 @# q$ F$ b
. Q- H& q4 T9 i+ R* g( Q1 C } l$ m0 D* T6 k
else $ w. V% T! E6 I7 s w
{4 h. Y0 j2 T! p& w* w5 R7 V
if(node.parentNode) # @/ i) b' J7 Z- z# U: ^% a
{
) P4 o" D# x! o! p5 A var orgNode=node;
& W9 r9 u; U `- k; o) o var orgColor=this.getobjstyle(orgNode,"color")$ L# d/ J9 h- H/ C! }3 ?4 X0 b; @# K
var orgRGB=getRGB(orgColor); 6 D6 `7 c2 Z7 A2 \9 u! i
5 `8 E$ z X# g
var parentNode=node.parentNode
! m4 T0 `7 F0 P# w var parentBgColor=this.getobjstyle(parentNode,"background-color");
, A6 l" e7 j* k+ j3 F - z9 z* ^/ i: _0 x2 K
var isLast=false;* [; ^* [" L1 R/ ]0 p
2 Y6 L( ~6 G7 M
while(parentBgColor == "transparent") ) s6 k6 {8 u1 G+ P
{
7 }' H; r1 l+ a: P7 C# F $ o$ x+ G! g) H
9 T+ y J A0 I4 \/ @3 e% i if(parentNode.parentNode == null)9 _' _2 ?% _+ }) i6 y" T! }
{) D, u( ?1 x. J; D
isLast=true; y8 R! K- P1 } L- ]
break;
" S; z9 M) M! t" Q }( t6 P9 M0 o. f% z" }# V7 U
parentNode=parentNode.parentNode;; n9 ^5 G. v$ e; R2 a# f0 n2 G# \. u
parentBgColor=this.getobjstyle(parentNode,"background-color"); [; Q2 z- C) S- a8 B
, z9 ]) [6 G0 p2 p+ }
if(parentBgColor != "transparent") 3 q% w! ]4 K9 O. Q; {$ z
{, f( w: Y8 z$ o# D5 W6 {9 ~
break;8 `6 {7 n# e% \' L. C
}
! S0 }3 {% t0 ?9 u9 ^# d: l }
% b# k* i% q; {9 ] K8 \) w if(isLast) ' K" h. K/ L4 {
{( z4 c( |6 V! h& \+ H A4 I9 s
if(debug)
4 P/ ]$ F% u$ P1 D4 I {
7 |1 r) e7 {& y alert("last!!");* v- R& A A. V$ j3 [8 u& }' V
}8 [& ^! {# J ^9 m
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
z M# w" ?! P+ E+ Q( X. Z6 y {( i/ K5 o; |5 [8 O) V3 x, f
orgNode.parentNode.removeChild(orgNode); , o' M: f3 d5 K, @* |$ I) i
}. G: v% q! D9 i. y( G5 S6 ?+ b
}2 p+ p3 L2 i6 Z3 {
else
0 P, i! i- {* f# R4 f& ^$ o$ w { \* n/ N7 F( \& e2 x7 U$ H
if(debug)
7 O& d3 Y7 D( [: E* W {
, x: I1 j# q1 I5 }2 }! M" X alert("compare color and parent bgcolor!");& G- _* q5 g J% c) q" ^' ^, l
}0 D" @' k# e7 t
parentBgRGB=getRGB(parentBgColor);
- }; T5 r) P. D% K/ x if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
: E8 D% @/ e/ f5 F Z {( U, A* e! i) }: \
orgNode.parentNode.removeChild(orgNode);
. _; n% ]2 F( L. v* f }9 x' f5 F6 H! @3 [& E( _/ O+ E
}
1 I) L% }" \" Q, z/ ] }
4 N* ]" b- i1 Q% p% Z, E }
+ ~( r7 X3 m+ A( w. {7 a4 o }
5 w7 H% ^4 U' P) A }
0 X* ]+ A/ {7 a( _ |0 n: K 3 r/ Z3 I) E. y5 U
& ~- o3 u- q' s5 K3 T' q e/ _
var itemFrames = page.getElementsByTagName("frame");5 t$ n. k+ w; m! T- {6 z* K- Z3 K
var itemiFrames = page.getElementsByTagName("iframe");) J6 d' W& W" e% ^& d4 a' o
1 m1 b6 w0 h" K/ m3 h var frame, iframe;( V) m" J) f2 g2 h0 B: ^
if (itemFrames.length > 0)
+ x9 p+ {% Q" d! `2 q4 R {1 n& G# I) ?1 m1 B% d5 M* r
for (var i = 0 ; i< itemFrames.length ; i++) # T% |% g2 @8 \1 M: ^) R
{
( t8 f0 L ~7 J! [6 h& J% G( n frame = itemFrames.contentDocument;
# e% `- O+ |! D0 M2 J6 L this.RemoveHide(frame,objname);
8 e2 `8 H' F) G. Q) h- S0 B }4 ~- g8 \0 w1 h! Q, S. O6 @+ N2 E
}- t+ S/ C' j& {# T& k# q) `4 w( q
if (itemiFrames.length > 0)6 G4 i- h! } [3 ?
{( h; R$ g" ~2 y( E, T' d$ x! G. [+ k
for (var i = 0 ; i < itemiFrames.length ; i++) ' [. T7 s9 ^/ S1 f$ d
{
) p" E+ X2 O- [/ i0 f8 H7 e iframe = itemiFrames.contentDocument;
9 M6 `) T, l8 I& r& W3 X$ B this.RemoveHide(iframe,objname);
) P' X" ~' k; H% W! J/ F }
! S& h7 T9 |* p }
9 y8 L& j8 Y2 a) Q1 u& B4 K: l }, A+ a/ C, A/ `' N* R/ \
catch(e)# N1 n: F# r: T) c, X# ]6 q1 L
{& Z5 ]& f. F! w6 t) _& O3 j
if(debug)' k0 M0 | r0 w. r" |9 B! V2 _1 y
{
/ C6 o0 e% T6 V% x4 j& k+ o- E alert(e.message); Z' m' f6 e- Y3 d4 E) n# g
}/ T5 Y; ^0 @5 j: ?# R
}
1 N* g# {2 c! { }4 b8 e- ?- u% c d2 Y9 L- Q' ^# \
8 K& s# @/ g5 x, i' m}+ l# x) M; @+ M- g, y) S
; d S: T4 L+ r* g. j
function getRGB(colorString)2 k0 w( W0 }) t l* D
{; C/ A8 A+ M" e7 T* u" u& r. M& ~) i; O
var RGB = new Array;
" `8 m, ~- X: H& l6 q var tempSting=colorString.substring(4,colorString.length-1);
6 H1 t9 K2 C* v, D0 T r, S9 f var tempArray=tempSting.split(",");
' K4 c4 U1 e+ _6 _. ^9 G+ W1 E
0 D3 H# G1 g4 V# ~" k6 r- R RGB[0]=parseInt(tempArray[0]);# ^! N' {5 r! I
RGB[1]=parseInt(tempArray[1]);3 C, t" P4 T! Y2 U \/ Q4 O% a
RGB[2]=parseInt(tempArray[2]);, a4 w: A& ? L; D+ V1 y
+ D# ?# q) a; j% o& S
return RGB;
+ B6 f( ]2 i2 ~9 W- R7 e3 O}5 b+ Q( V4 o1 W2 {6 y; |( u
function keys(evt) % a* e( l1 Z" P/ B6 J- y- ^
{ & H ?: I, O, l- P* k+ V
if(evt.ctrlKey && evt.keyCode=="81") ) Y: p S# s( x7 m
{ 2 N" S- t1 V7 f9 p4 r
CleanHideObj.on(0,1);
5 v1 W0 y" ]0 O: [8 W* j1 B alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); $ }3 D. A8 O5 P( N
& C& I4 D. P( _
}
0 N1 q3 c" b* [4 S" B* u. R+ r }
3 H# s. k9 P/ Q+ G. F& D6 Q) f; Mdocument.addEventListener('keydown', keys, false);
( C) T9 L4 Z' k9 RGM_registerMenuCommand ('Clean Hide',
% \% J( M8 G9 G7 [7 y. k& t* Zfunction(e){
) [; J+ B5 Q9 m- e9 ^. X' w! OCleanHideObj.on(0,1)/ n: z C6 J/ c8 K& M+ W1 B
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 @& S8 i) e( J: J7 D; i# Q});. s8 f9 j7 ?2 z7 M. m' d
|
评分
-
查看全部评分
|