|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 B, e- L2 i$ ?" }' Y
, J4 S; d' o$ z( F! D: [2 u p9 A9 W火狐插件,用猴子& W" {. o+ ?/ {# W2 R' j
6 w7 t0 ^& D' y. Avar debug=false; ! F n; N1 `* R- ^$ w3 B
var CleanHideObj=new CleanHideClass();
" a. k. H: @5 z9 H1 ?$ C5 s |/ ]- G( S0 u* b" a
function CleanHideClass() & U3 j n+ F' v
{ 3 F# ~1 }3 L; Z& S) Q
: n3 n& f" H* r, v
this.on=function(id,bMZ)
0 G% E# h; q# ~( M @# I/ m {
! z0 v2 j+ K2 `5 W # g: |" u! ^. V
if(id == 0)1 E3 ]3 |5 Y S/ ]' n
{
; F& e1 H6 N5 ] var page=/* document.getElementById("content").contentDocument */document;
$ e, u0 G t F. n( D4 F# H7 @) M) ~ this.RemoveHide(page,"span");
( W! m' o+ E! K this.RemoveHide(page,"font");2 Z& e$ v( F; o
this.RemoveHide(page,"div");/ j4 ^: _! Q7 v4 J; ]& P! ^' s# ~
this.RemoveHide(page,"p");
) K9 y4 u+ o# `- ~3 A 9 q N* j( e# `7 W% U) B% s% I! Z
}4 U+ Q( M6 X# o# V; Q; c
% E4 T1 {" U) v# U; T }" Q+ U# q j4 J K; i
this.getobjstyle=function(node,prop)
6 C7 c5 h" V. p0 z; c {
1 O+ j+ h4 ]7 P try
0 [8 T; l/ \. ` X3 `- ]/ ^; g) T {
2 O: S: z& p, l return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
1 e& H% K& [0 c$ Z! H, b( Q8 K }, [2 y8 p' i! \( y% e8 B* C8 M, U- N
catch(e)" d2 F5 Q. e6 ]* X9 h( A7 }
{
x. z( H- E7 @! J) a if(debug)6 }0 K: z" L/ z( w$ r9 h
{
. }1 O# E' y1 g) _/ Q5 P alert(e.message);
" t/ R/ q* Z% x7 L8 F# F3 D }% ?; p! I2 ]5 v9 k( C
, c- g* W7 ]5 H5 X+ o0 C$ i return "200";9 ?/ J. g' t4 Q8 ^0 `' g& f
}* ?( B% M& Q0 V) ]7 E
}
- h3 z% ?( Z4 _1 y0 ?& l# D. D 8 W( j1 F4 \) _6 S0 i
this.RemoveHide=function(page,objname); D4 O' E. t5 y. ?
{, p9 P) f& r$ q. R; @& T. B" T* N
try6 T8 o" B2 Q) j- O( x) ^
{
* w9 O* h5 q2 i# _5 Q' x9 I1 V var minValue=15;( [/ M0 W$ {3 T1 {0 `! o
var objs=page.getElementsByTagName(objname);
/ z5 u1 q) \6 @. L6 p
+ K& `$ J4 u: @0 h4 S* p3 q if(objs.length == 0)
; D% H# Z+ m) x1 t, W, ] {) {# c! R& N5 G5 J3 G# W8 ?
if(debug)% }3 X9 J( I! l9 x
{
8 V% |: m& E9 ^ alert("no object found!:"+objname);
1 g6 t3 t, w1 A, T" n* g5 n% \/ Y }' M, ?0 d6 Z, f; H
}2 q% G0 r1 N6 N4 |' c4 V0 \, _
else; I) b- Q+ a- w( E
{5 s6 V# w. S3 ?& v) R, n" P2 x$ [
, |6 ?3 Q& z4 d2 p! I, E: C' @
for(var i=objs.length-1;i>=0;i--)
3 Z8 a- A; F6 t( m- h {, l6 u1 u) z% |# h+ [5 m# O$ [) ?
var node=objs.item(i);
* l4 B" P9 Y+ o2 q$ j
% A$ K S& }! n4 I
+ u4 u9 k! P. q if(this.getobjstyle(node,"display") == "none" ||& r% ]- C$ H8 [
this.getobjstyle(node,"visibility") =="hidden" ||
! `: E4 M- S, ?8 I# i1 S parseInt(this.getobjstyle(node,"font-size")) == 0) 6 d6 }) W3 K* m* U7 p* x+ `
{
) t L3 \) E( C! X; Q if(debug)
/ e1 d% {2 g) k' m- ^ {
: e4 i& `& p8 @+ e4 {6 ^; r: t) Y alert("remove invisiable!");
4 W# Y; @: L# ~& Z2 E- `- j, q, C }4 e, s& |- q' i" Z
node.parentNode.removeChild(node);/ H# A9 H% e+ w- k1 N9 f
7 G5 K2 v6 K/ T$ O% Z }
7 P3 g1 p& {! u else
* @/ ?. c" Z- }9 j {
, w! Y% L- B* q1 {- O4 c9 C if(node.parentNode)
$ ]; x/ n7 Z# S# \ `6 |+ d {+ G" M3 G* K+ d6 h# ~0 Q) [
var orgNode=node;
0 | K7 w( o& A) Y: y1 U+ l- t- ` var orgColor=this.getobjstyle(orgNode,"color")
6 y( ]1 j9 @% x5 C- o var orgRGB=getRGB(orgColor); + c/ i' x r* U9 h9 W$ y
! o. `$ b9 R0 b& Q, x var parentNode=node.parentNode& m; @& g- F5 E# |! I
var parentBgColor=this.getobjstyle(parentNode,"background-color");) ^( Z7 ^4 [3 K& S5 ?* ^, ?
! N& Z5 Y8 d6 f5 v2 E2 X. `; Y var isLast=false;$ @# b9 N- u/ Q1 Z4 s
2 m1 |1 k7 C9 Y while(parentBgColor == "transparent") . M4 g- o( h! _4 m* I
{2 I/ ~# a- L. }% q* R. U
- K9 z4 V* C) \8 F# [5 {$ n
# b4 i% S$ h3 x4 D
if(parentNode.parentNode == null)
- J+ |$ p8 b' S8 L2 }4 i {
) V6 M# @' a3 I: [ isLast=true;
+ s8 }+ I5 v! c. U& \, L break;% O7 p: I) @ Q6 d$ \4 j5 p- {3 s
}! R7 i6 R% A( n0 E1 h
parentNode=parentNode.parentNode;
* Q. N/ F1 v5 v1 I8 L z parentBgColor=this.getobjstyle(parentNode,"background-color");: m3 B" B$ S1 _2 i( ]- I+ E
7 n9 z% n) c) ?6 |. [: [. G1 C: O) |$ N if(parentBgColor != "transparent")
( Q) Q7 I+ @. m9 e0 W) m# w% k* f' h {8 {& I! \# g) g2 n
break;
2 f- K& U; W- ^9 o }
3 u, [. w& ^, {1 \ }
! s9 n9 @# F0 h if(isLast)
+ b3 Q( H) ?; e( _$ Z {& D0 a7 z: R8 b: d
if(debug)
6 e) |, \, w' D1 Y1 w8 E {
5 H: m6 K* c0 J, ~- K4 Y% u alert("last!!");5 p2 w' g9 d8 d/ Y. Q# x. R& o
}
) A6 x8 h0 H6 R. t4 v, s/ j( h if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
; J( C& [8 Z& h; L. a {
7 A$ b7 |- q3 j3 z# P orgNode.parentNode.removeChild(orgNode);
4 a1 ~7 t8 i" e6 O+ o2 T/ e }' c' [1 l% B9 U. P" b2 F) p
}& [2 P$ }& V( }
else, Y( g; o% F. G. E
{# V8 J1 g7 m; [
if(debug)4 F2 P0 d* _3 ]$ y' [+ t1 n/ M8 t
{
! \! j; }7 c) N5 b1 B# U7 r alert("compare color and parent bgcolor!");
+ U: p3 W; P, q }" g* g& b' a2 Z) I4 S$ o1 n
parentBgRGB=getRGB(parentBgColor);: G+ G0 x# K( g/ n: e& I; m' r n4 M
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))# i8 |) p5 U1 R; i
{
% ~# p, N1 Z6 v# F& b orgNode.parentNode.removeChild(orgNode);
/ ` R7 r( D5 @ }
; N6 u/ v7 C' ]7 b' c3 k& _+ w }
I! ^% m$ M$ f3 t4 i/ U }
3 b3 B5 Q' i2 t% K }$ d. t T6 y6 m6 o/ c5 \$ I
}
4 K. @+ A. m# x; |# a }
" }+ Q: ~( [/ h+ Q" _( y- \. `) j % ?1 e/ I# p7 k$ ^9 C( c( }
% M2 t8 `& s1 C# l6 }, L
var itemFrames = page.getElementsByTagName("frame");) w3 \: y9 f0 L8 G
var itemiFrames = page.getElementsByTagName("iframe");
2 k0 v* y& @" h- ~7 k9 r1 {3 [
! R- `, c1 E" k# w var frame, iframe;
( p# @. d1 t2 I if (itemFrames.length > 0)
. a0 Y* ~/ [& _# ?* q6 A e {+ C& o1 k' P8 C5 f. j
for (var i = 0 ; i< itemFrames.length ; i++)
/ Y$ f1 F( c: s- @9 h& e {
* @: A2 s; F# ?; H+ e: l' K8 Q. a frame = itemFrames.contentDocument;
N5 H: V: |2 l. N% z this.RemoveHide(frame,objname);
; v3 A3 z$ L* c4 [% _$ z8 Z- T! ]0 C }& S6 u0 T- {8 C9 e. s! S( w
}/ [- }8 ~8 O. ?4 C0 ?# K7 w
if (itemiFrames.length > 0)
: w8 R' K! T5 D5 m9 Y l {+ z8 ?& A/ d; q
for (var i = 0 ; i < itemiFrames.length ; i++)
3 K! `8 x& Z m, E {0 @4 i2 n$ \" D* A6 Q0 o
iframe = itemiFrames.contentDocument;, C+ r7 b$ _% z4 B/ F8 j m
this.RemoveHide(iframe,objname); , _" b: X5 G: e# Z
}
* ]" n5 V J: g' D5 | }
; G) X1 ]) u/ q }$ Z; p) c* X& Z! {3 P, ], `4 y
catch(e)& _9 m/ l# ]' J( ~
{
- J/ l. {6 f; U8 g1 J if(debug)
' s' {8 S! j, O" P$ q2 } {! W& m2 q0 C9 K! U
alert(e.message);/ W: r4 z2 r; W9 t6 q
}
' f; S) W! \/ w$ D }
/ k/ x- X. N Q7 C9 J4 \8 Z; H }
0 S( z; B* D6 ^ Q! F ! J6 L# ^# }( [ t4 A6 J6 P7 B
}
- x r% w6 C( S$ x0 c
! r* r( n- j6 i9 pfunction getRGB(colorString)
! w8 m8 B4 l7 ^+ @1 ]{7 N/ d( Q6 v+ y7 V" r
var RGB = new Array;
; o, c# x0 ^, n- w, U/ t( X var tempSting=colorString.substring(4,colorString.length-1);$ T B* h# |1 d! f) y. Z/ i
var tempArray=tempSting.split(",");
$ {, F k# b9 Z1 _2 l
/ o- H* A) u* c' Z0 q RGB[0]=parseInt(tempArray[0]);" a' q( y: I4 y W; @' j
RGB[1]=parseInt(tempArray[1]);
: L! h" | G/ y* O7 U3 q; } RGB[2]=parseInt(tempArray[2]);
7 F8 r0 S4 u4 W- C: h# ~7 g
* Z: H3 V1 M6 P return RGB;
3 E" V$ L! i* A+ N' h G! b+ {}! u: I1 f: R; S5 I/ O( I$ Y6 I
function keys(evt) 4 x+ ^/ I5 B2 y# @- c
{
: u# Q+ t. o" r& p6 H! D# v if(evt.ctrlKey && evt.keyCode=="81")
; B, |' _$ _# k' c* I4 A8 ` { " z* m# P( f' B
CleanHideObj.on(0,1);& y& E6 s8 Q9 ` Y. n
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 7 j$ L& P6 Q; m# i, |. I
) t1 i6 i! H5 v4 G% K" A$ l
}
+ B+ C' v* T; U6 e$ v0 O }
. G8 n; N, h5 Xdocument.addEventListener('keydown', keys, false); 3 j" C7 b/ T2 N0 t6 Q9 T- N
GM_registerMenuCommand ('Clean Hide',$ T4 l" j0 d. x1 p5 Y
function(e){
Z' n1 ?/ }1 C/ `+ ^+ cCleanHideObj.on(0,1)* n/ ]7 c! m% P/ J- A$ j% y8 o
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
W7 N9 W& A+ i5 f$ I});
* e, {0 S: b0 s8 {/ M+ F8 k9 T |
评分
-
查看全部评分
|