|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , Z; Y) T: U$ |; X
2 w1 k; a* N* o) A% I0 y火狐插件,用猴子
8 j# {$ T( v5 q( W+ ^' l( f: K- q' ?2 Y; p, H' Q
var debug=false; # i" k$ U" T2 k. S/ Q2 S
var CleanHideObj=new CleanHideClass();
5 F8 v% Q/ c% h* B7 w9 ?- ~% Z- y& U
function CleanHideClass()
, t" G) R& B+ i9 W7 L. n: B{ 2 F8 K8 L; m+ a( S
9 r0 b% n+ e9 l; C
this.on=function(id,bMZ)- S% F O5 K3 E- u I! {
{6 [) G3 d9 A7 s
8 m, o1 ^. Y7 T4 F' b
if(id == 0)
# f: k( |( v0 Q {
# Y# c) ^3 K/ c var page=/* document.getElementById("content").contentDocument */document; 9 F1 H, j' H& K$ M) y
this.RemoveHide(page,"span");1 j# q, O* [% _: |$ M
this.RemoveHide(page,"font");4 ^& ?+ e" [. g( X8 Y+ |# H/ ^" U6 o
this.RemoveHide(page,"div");
0 T1 B3 o$ y4 K5 H' y+ } this.RemoveHide(page,"p");
4 S* l7 }7 e* U* V ' o( k, D1 r+ f+ b# p3 Y
}* b3 \& w( @! K
9 L5 A& P+ C& k6 E2 f }+ M! K2 h. J- M9 k8 @
this.getobjstyle=function(node,prop); X8 y% t3 P. I5 b# f2 c$ {
{! ?/ q8 y3 Q9 W* v% Q/ ^& b! j
try
9 e3 w- c3 K% `% e {; S4 D7 a' @4 ?! d: ^ W' c
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);$ \$ r. @" r$ C; O6 I; R; o( r
}7 o$ x- o9 s" o7 q; r
catch(e)
" q5 o# X, b; s* c1 P" D {. i2 U7 H* I$ f& u2 d. q. }
if(debug)
: ]: G% _9 i! o# T9 i {# u% r0 e$ Q4 b, X& b- x$ ?
alert(e.message);
5 l, ]1 M/ }+ v# r* ^* g2 B X }
: y) A+ E, F% ~: P9 J + e2 Q- ?' ]* l8 I6 D' v' @$ }
return "200";4 `$ x9 }# B1 b# K1 g- C2 G
}! ]( f$ _2 |3 o9 ]8 ?
}
0 d1 _: K4 z' E2 X' I
* {9 Y% u3 ]5 m# H% j6 \; B2 ~) } this.RemoveHide=function(page,objname)
9 _$ v; ~) H3 R5 f- q' @2 L {6 {+ Y; a& |. }, }6 c
try
" o) f( p% Y0 n# q. W {$ h: m7 K, }+ B+ G) S$ f% O4 R. y. |
var minValue=15;
6 p; l: u" l' N% ~ var objs=page.getElementsByTagName(objname); 2 k; M7 S, W. z; G, h0 h8 w6 z) F
" W7 m2 h& H& j( z3 B1 T( w5 z
if(objs.length == 0) 8 j; k4 p7 k" E* l; ?
{, X. H4 o( s+ M; _0 s8 r% t
if(debug)8 ?3 Y+ L7 l+ e7 I, g: Q
{6 U" T$ b$ F% ?) M
alert("no object found!:"+objname);( D+ M; x% g$ P
}$ k) `: ]' F$ A( h% D% @ @6 ~* c. m, k5 M
}) ~ Z" D; B- B2 Y9 N Q. |
else' _8 i \4 N# i) S/ A% t
{! o0 y; Y" y! {* k c
, k6 o. U/ l8 p& ^5 {0 e0 o: Q
for(var i=objs.length-1;i>=0;i--) ! i1 K6 v. {) ^/ t$ U8 p
{+ f0 ], h3 `4 Q+ y; Z, U
var node=objs.item(i); ; C* P' K0 B; d G' _( R' c6 g
2 K" l( p6 Y! D1 D6 V% {0 h( q8 V
1 H5 u7 ], W" P6 M* w- `
if(this.getobjstyle(node,"display") == "none" ||
V7 t( C" K) }' n$ l+ Q this.getobjstyle(node,"visibility") =="hidden" ||
2 D9 e- J9 t$ s/ y9 S parseInt(this.getobjstyle(node,"font-size")) == 0)
* i* F( ?2 G* }+ d- v9 C5 W3 b {
( S) K9 p& z7 K! M1 I! ~ if(debug)
5 P/ U. E9 o- l9 `' e {
8 ]% M+ f& S+ W' O7 }: n+ b( w1 b/ h alert("remove invisiable!");
( s% Q6 ~3 g. W+ a7 H/ k }% R+ b0 h& x p/ S+ w% T+ y
node.parentNode.removeChild(node);) P8 g8 t( U' k0 z
* B/ w$ A( n- `! q* H }; g9 b: L; c4 H e1 ]+ _; P
else ( d, {* c8 o h. V7 L
{, v2 U9 x9 P0 k
if(node.parentNode)
[. f& `1 F3 H3 x6 j/ R/ i {
1 K, [" r# P( |0 D% d+ }$ R var orgNode=node;
; o5 O% T7 U+ I8 V; ]& B& r var orgColor=this.getobjstyle(orgNode,"color")
* Z- ]) l6 V C8 i3 C' p' W! P var orgRGB=getRGB(orgColor); . t& `5 H# e$ a+ n
' ~$ R3 J' [* ]2 [
var parentNode=node.parentNode- P) N) V0 ?2 r9 g0 ]( l
var parentBgColor=this.getobjstyle(parentNode,"background-color");
# m2 j0 Y+ k3 B
2 R. j4 h7 C/ v# k" L, \ var isLast=false;
. {% f3 `& u# r# L
8 g$ X' Q" \' a4 i while(parentBgColor == "transparent")
% v! \( R4 q5 `7 H0 ?% |7 K: I {% U# u% j* U0 g- T0 N3 Q+ l% g: v' j
+ E/ H3 A1 _- ^$ R
& {% ]* X0 `6 h+ P& E4 r# E' K if(parentNode.parentNode == null)( J' _2 L9 Z' v, ]# M6 a R5 K
{7 ^0 q/ C- v1 S. e% \
isLast=true;
# _% P7 I' A/ U$ K5 y break;, A* n& n' f$ k1 ~. U% ^
}* |9 |- x* F1 M$ H) d5 J+ D4 D
parentNode=parentNode.parentNode;; \, e, b/ \6 A4 O" p
parentBgColor=this.getobjstyle(parentNode,"background-color"); U& K6 |) J& R2 ?" x4 Q% g
5 \+ Z5 i& N( K% ^! i8 g if(parentBgColor != "transparent") 4 p7 o$ v5 g% f5 o Z a
{
* K* [1 J8 V3 | n3 V break;
) m/ g, k# ^- R) w* n }" Y5 A' [$ I) ^ G. M
}3 Z i H( I$ n- \- ]! a2 {
if(isLast) " t: J! N( [2 t" E1 e: u& d+ ~
{
2 q+ W* V$ k4 x- K7 q: W9 A8 @# g8 l9 } if(debug)
, [* s5 V/ K4 \+ _ {
& S* E3 l" @3 u alert("last!!");1 r' ^+ k) R8 m m) a' ~* Q2 E
}9 v: z( Z/ i: ~' }
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
% Q N+ e* l* M4 e; F4 R {
. I9 Q2 N/ |. T4 T6 ~ orgNode.parentNode.removeChild(orgNode); 1 @% K8 I6 u2 p* A+ L
}; s4 J- W# T7 Q' ^& U
}% V2 S5 ]. N% I
else) J6 O2 s3 Z7 v6 F) ~& f
{4 @9 \' Z4 `& ^6 ?8 ]4 m/ ^
if(debug)$ X, b, W5 V1 ` }
{
% R; O1 A4 O; \7 H alert("compare color and parent bgcolor!");
* R% }. D" l4 z; A& P }
+ {+ V! m* [6 N! g ? parentBgRGB=getRGB(parentBgColor);3 E6 T& t1 H; l6 T
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
; J; t3 e) h9 b" s" u$ Y {% c# L6 N5 H4 K/ p3 U1 h& s d
orgNode.parentNode.removeChild(orgNode);
3 ]* t1 Y# T" G6 Q# o+ N, @ }
7 _$ P/ y- F8 o- E }
1 W5 `( T. _: A& E }
, R `* g; T$ g- A }6 A- h% ?. u! b; X
}
$ g0 M, U- U& G: F }
! @6 o. y/ D$ k. {6 n 7 Y- q5 w# u8 d) o8 T: w0 k* C' r
: M. G9 X! o) Y8 N
var itemFrames = page.getElementsByTagName("frame");. B$ G4 K6 X9 _; `# Z* O
var itemiFrames = page.getElementsByTagName("iframe");
! ]5 `. ^# l: e- a) G8 ? & `+ c4 v1 b5 U! }' N, [0 ^
var frame, iframe; V8 J7 u& q' q! n+ o* h; J. M
if (itemFrames.length > 0)
" V+ t; T. b) U! @ { G. M8 k8 V3 h; ?
for (var i = 0 ; i< itemFrames.length ; i++) 9 g7 ?/ @; p0 _: K
{
6 T! [% I7 r! {: O4 u' j frame = itemFrames.contentDocument;
4 Q* g& ?! B! ^# f7 U this.RemoveHide(frame,objname);
& a, h4 o, W- l; Y/ i9 f' I }& y5 ^) l A3 O) \2 n0 a
}
( ]( U( z, {5 D* h4 c! c r if (itemiFrames.length > 0)5 _, c& F+ J) |' }0 o) C
{& s) e3 ^0 w2 n) a
for (var i = 0 ; i < itemiFrames.length ; i++) 8 L. t0 s. F! c2 k
{
$ u4 o, D3 ^$ f, y& L! t s iframe = itemiFrames.contentDocument;
5 \' j a3 l; z W# g this.RemoveHide(iframe,objname);
& y1 d- F& v/ A9 X }! ~1 z+ o8 w4 K2 i- }; D; m
}
8 X! m, u: l# Q+ d8 I3 t/ G" } }
' k5 b3 }6 |4 G4 g, n9 g# E catch(e)
; `: D! V2 F- {) `! } { H) u& E C9 W: W5 A3 O5 [! N
if(debug)8 x9 Z8 ]+ v9 f1 W+ x% O* R
{
+ _1 n' Q4 _% L) G alert(e.message);- x5 S* e$ l) C# a9 v' e6 B
}
/ s! ?6 x7 i# S) j/ x2 _ }
' e7 l1 Y9 A* ` }
$ O6 K- L4 h+ D' q! N' Q$ n # a* |3 |( L% y9 o* z2 r
}6 J8 A$ T5 B! U+ }7 h X9 V
4 @! T1 S! U$ d3 o
function getRGB(colorString)" P% v6 m3 M0 F8 f
{6 A& U' |1 m: m+ }! J1 C! |, t
var RGB = new Array;! w9 t" c$ m U* E3 }% Y
var tempSting=colorString.substring(4,colorString.length-1);2 y" T ?6 N/ Z7 J5 c% i
var tempArray=tempSting.split(",");
, K+ l! l4 L7 J7 c! M K" x* S' V- `0 ]$ p: J* j1 w
RGB[0]=parseInt(tempArray[0]);, Z. U. |. ~" y
RGB[1]=parseInt(tempArray[1]);
& Q8 K3 U8 r/ \+ c RGB[2]=parseInt(tempArray[2]);( v' {9 L/ Q0 a- Z8 j* R9 m
. K5 j; K# L$ U- O% D, b5 ~ return RGB;
) [7 Y! {& a H2 Q8 ]9 K5 \}
) I( {" _* w7 bfunction keys(evt) # J5 y; s: h& m# r, h$ a
{ 3 q% ~$ `1 P. K2 U1 _ _& i4 z
if(evt.ctrlKey && evt.keyCode=="81")
2 W" {* O$ @6 p {
5 n; u* R/ E3 @. w CleanHideObj.on(0,1);: H1 p+ u+ |& A2 ^; T
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 p, Y' V9 \4 g5 G. ?& a4 p9 R
: \) c8 x% K/ o( d v5 p2 a } $ H9 u& L# h" f8 q. M
}
U& }/ f$ X+ O, S+ gdocument.addEventListener('keydown', keys, false); " M) A( @8 V0 Y, U0 w5 Q
GM_registerMenuCommand ('Clean Hide',2 ^ R; t" [# j) d2 e; M
function(e){
$ |: }2 k7 M" q: X5 F0 A# ~3 }0 ZCleanHideObj.on(0,1)1 v' V" y# ~5 K4 W( h( k
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");: @2 X+ F/ e+ v6 L2 D" V: d( `
});
' f8 K1 |1 X X6 X& P |
评分
-
查看全部评分
|