|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
9 ]; K+ S: C0 j$ Y
; H8 n& }% S2 s火狐插件,用猴子/ X- I$ L2 a6 f9 G6 C# f- h. N
. @ y& J# r, u5 m9 kvar debug=false;
6 i( x$ @! Z7 v$ U: u( k5 Pvar CleanHideObj=new CleanHideClass();( b! v# p+ s5 S! K8 c& P
8 X" j; D' s2 R* k& K, {) S
function CleanHideClass() 2 q; I4 V* O; L+ E$ U/ A. i# p6 y6 u
{ $ r/ L' p# {3 l" Y6 d
`! P( J: y: {
this.on=function(id,bMZ)
; o+ n# }" ^' F2 v- l {
5 i; h! h- } l% m; E
5 I, O# H/ x+ M( y if(id == 0)
" P' Q9 l0 S2 e v, K( J8 {+ K2 Q {
9 t% u5 _, G! ~: E+ W var page=/* document.getElementById("content").contentDocument */document;
0 _' ^4 P/ i; y, K this.RemoveHide(page,"span");
$ | T, U* \6 s" n3 V! D- S. F2 K this.RemoveHide(page,"font");( }- @- l6 L$ M5 i
this.RemoveHide(page,"div");9 }# Y. r* E& y
this.RemoveHide(page,"p");
* \4 m: L/ d9 C8 x9 ] ' F) c$ K6 H, L4 j8 T. }
}
: @+ \: G# c |( } ]% Z! q5 l2 ] $ t" R; Q' w0 o) d
}: c3 M" V9 u8 r" A+ r1 p- G
this.getobjstyle=function(node,prop)
3 m& v9 |. y+ Z9 C- T0 c' v {' Y) R, p8 m% `" k' D
try) q; c2 c# k8 W( l! X% x/ g* K
{
5 w0 \0 m' y. Q9 t4 v return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);! Y) s- C3 d+ z
}% ?; X1 `. Q) v& C1 u: M: D
catch(e)
) u( l4 e9 K, V g8 { {
5 n6 e3 u* O) J% L* S5 l if(debug)& o% e( d$ i0 M9 A1 q
{' @ v, i" U5 N- c9 U' ?( Y
alert(e.message);: J U. H5 _( I! p9 l' X4 a
}
) P# A2 b" v5 K0 O6 J9 y
' v" j8 C9 Z5 I" w! o! y. ^1 k3 ] return "200";5 T" i0 `9 c. m- u
}
4 } ?# I; a& m4 F }
, Q8 ^- {' h3 P; `6 U( B
+ B' |: _: f+ I3 o6 G( \7 V6 s this.RemoveHide=function(page,objname). c% _0 Q+ b w T) E' _
{) h5 z8 u7 z# x
try
' c: e) X) j' b8 }# v y; _ {
: C3 f( a2 Q* P1 X( B i var minValue=15;; z5 o T, m5 ^# a8 r$ v& E' ?/ I
var objs=page.getElementsByTagName(objname); 9 |- f6 h: ~9 `) \ s0 d
% W. ^* j3 s; U/ H4 L' M if(objs.length == 0)
' `* J& g% l1 [9 o {
8 K# H7 |/ E& `$ R. B- R! q if(debug)
+ s* P) z1 W2 H( E- J4 G3 h' r {
8 j+ U( a( o; z3 q, l8 j alert("no object found!:"+objname);/ o( a0 @' s. D+ e
}
: ~$ X1 ?. s6 Q" A- \, n }0 b2 a i: ]! w* F$ P; \3 ]
else \8 ?* N, u8 R; j
{* P* P6 m; H+ m
+ c. ]9 K! j, R! P- _! Z! Q for(var i=objs.length-1;i>=0;i--)
4 M5 i7 g4 g1 u7 e {$ y- f2 V5 I4 w% x
var node=objs.item(i); 3 v9 m6 u5 { X0 w& Y+ Z
/ ^# @7 T3 }+ v) k3 f, L8 U6 X) Q
9 ]9 O) x* j" G
if(this.getobjstyle(node,"display") == "none" ||" L" S V9 P2 p& a
this.getobjstyle(node,"visibility") =="hidden" ||* b" X. e+ ]4 a2 d# a1 q& s5 x1 [, Q
parseInt(this.getobjstyle(node,"font-size")) == 0) + X' c0 ?( w, {8 H x
{% y) O* z' m) h2 Z0 p/ ]9 `- l4 [
if(debug)4 p' _3 a+ Y7 W9 G( }; v9 m1 w
{9 ^# p4 e- _6 j( R6 C
alert("remove invisiable!");( d- A3 C6 B( ?" K+ S. P: U- I2 g
}; X2 Q6 {8 l* d# F* c
node.parentNode.removeChild(node);5 g* N$ l. M/ a! Y* r& y3 Q8 `
! b+ N+ s# l) c* B; O }0 U$ ] E" T" \0 L; S! R
else
9 y9 P/ a& G/ p {
2 `' n0 ~& J" V9 L$ J if(node.parentNode) " V8 ^4 M: `; `* _* x, Z( q/ n% I
{) P) J* I/ g, B4 Q! M {; m' Z
var orgNode=node;
. h& B2 B" ?; r/ r var orgColor=this.getobjstyle(orgNode,"color")
$ M3 `, K7 k6 `1 w# C3 B+ i! e var orgRGB=getRGB(orgColor);
. L8 ?$ U# o: r3 ?% g
3 \0 }' N+ J# t# v4 R- R var parentNode=node.parentNode. U/ C _* ?9 ^
var parentBgColor=this.getobjstyle(parentNode,"background-color");
* O' ~1 n6 L" C - W9 D2 |- ]1 h* V: L. k# C/ b
var isLast=false; h& q: G" {) F
) W7 Y" ~; O" Q' E" f! A6 D while(parentBgColor == "transparent")
, b' A$ a$ p- `4 F {2 y$ X" R7 g3 H
; E& S4 j& r" W' e# k6 v2 `8 _
M* M$ `& w& M1 E
if(parentNode.parentNode == null)& f2 P, T/ h3 a6 ^5 p5 X
{' g4 [- C- W* b+ M6 U' y
isLast=true;
! w4 c; Y0 f- y$ ^1 y$ r break;
6 q e0 i2 O7 b1 p- }) q+ }. U }
5 O& x8 L h! H0 O, a' l6 k parentNode=parentNode.parentNode;# L" ~* @7 e* j
parentBgColor=this.getobjstyle(parentNode,"background-color");
" v: d& e: [7 z% V
# R/ K: e4 j5 u, f if(parentBgColor != "transparent") & d3 Q/ _1 ~ ?% R) B, v4 |
{
; z* F# b" S* N; q9 R+ s break;1 A/ l0 P/ G/ I7 K, V; f
}
$ B% W5 \' w3 p7 V }7 Z7 O, ]0 S6 y% K1 z1 p
if(isLast) 2 Q6 H& H* n8 K! F
{" N$ G- [& f- f" S9 a6 u, J4 Q
if(debug)
3 d9 K8 g2 [3 ^3 B. F- O {
1 [, u+ I1 e/ d" C: T7 H V2 @- w alert("last!!");
& S2 s. W& V+ A0 K6 N }
; p7 n; h9 Y( m" B& s5 q w if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)): h5 U, e3 m" P) J; b4 p6 i
{! Y \5 o, B/ ~6 [$ _) ]
orgNode.parentNode.removeChild(orgNode); , I" p; P9 \/ j. J4 T
}8 {6 P7 P7 F4 S& y0 ] }
}6 @2 j1 G. m' v! z8 f
else
! ?% A2 A5 y( E, X4 {! Y* z {" X8 r& t4 s# `
if(debug)
4 {! o# ?0 c; p# s4 g {
! T& @0 P% E" ^0 ]- Z alert("compare color and parent bgcolor!");
- s( I0 K; V9 }: j& e/ Y }& T* m4 E$ h7 \1 A) I
parentBgRGB=getRGB(parentBgColor);/ k8 N6 [. f; |6 d, P1 x7 r7 z
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' Z% D$ L& n& u+ z2 W6 I. z {# S+ I7 y; O$ @
orgNode.parentNode.removeChild(orgNode);
* H8 m; O; S. V2 o( P4 h# J" i }
+ O) C% ]& E2 K* e: U) Z5 B }
G: w5 e6 K! Z& m: V }
$ [( i+ e% a: p" F9 q# C. F }
/ `5 K& o/ L0 M' E9 m }
' U! R: C, x( h9 o# }& v% {. F }
$ {6 q9 b) z- Y6 P0 d6 {
3 S$ o$ q% E+ B7 n& m# } , F7 `: R3 L+ K7 [5 c7 c
var itemFrames = page.getElementsByTagName("frame");; f4 f. w9 i; e/ d& M
var itemiFrames = page.getElementsByTagName("iframe");, b9 J; w' b N7 ?
* c$ A) W+ s2 v- {4 }" B
var frame, iframe;8 s7 V( b# m/ a4 m" c
if (itemFrames.length > 0)
+ p; {2 d* H% ^. U' J6 S) N {
# s! Q0 h0 o9 T3 z. S for (var i = 0 ; i< itemFrames.length ; i++)
" v5 C! m- y" K1 E2 A {
, U9 ]; O3 R0 V4 }) g6 M% y frame = itemFrames.contentDocument;* E' Y% m' M. G" W
this.RemoveHide(frame,objname); : w/ i2 [* H+ d/ ?- r6 d
} D) {7 y4 X C( N$ y# j, h
}3 h# d. H( @# f+ e
if (itemiFrames.length > 0)0 m, B* W: M# K8 i8 F* ^' f+ x0 U5 {
{4 [) p7 k, {' |
for (var i = 0 ; i < itemiFrames.length ; i++)
4 @- l. |" T$ M" R' z {
$ F+ j$ v- V) s, P- A* Z$ |3 n iframe = itemiFrames.contentDocument;: k" b! K+ }" I- s8 e
this.RemoveHide(iframe,objname);
# I2 H( A6 {: W6 }3 Y5 E# o }
5 I/ P" z. m$ R' _ y }
% v" R J: m1 R, k* g }( V$ y2 f& \& Q4 O; H2 \( q h7 Z
catch(e)
. H/ p" i8 M: w- {9 n. I {
/ x6 H0 a+ n% T8 n6 R9 C if(debug)
5 X: r, e2 A0 J- g- h {0 v' }) S* P- Q$ O3 P6 f1 D& A
alert(e.message);
0 H+ _( h' B& s8 _. C/ Z }
6 y1 Z' R- V7 k0 R" r }( v, d7 A9 K8 p. O9 B ~
}* G8 ~9 }( y: G. o
- c) ], k/ b: f9 e: `0 Y# _
}: @& v7 P) N {6 g/ q# J
2 H$ p4 ^, O) D
function getRGB(colorString)
* W Q$ e" z2 w/ U" ^% B{; l+ ~ u1 h5 o; H! A* E& N6 Z
var RGB = new Array;2 b) f! @$ l6 p5 F* D. x8 \
var tempSting=colorString.substring(4,colorString.length-1);" x' v R. f0 m& I" r' \% A
var tempArray=tempSting.split(",");
4 u1 d3 A+ F' g+ u5 U7 O
/ h$ t' n1 Y) r. D1 w7 e" Q! I8 Y RGB[0]=parseInt(tempArray[0]);
1 Q+ V9 X; j' _ V RGB[1]=parseInt(tempArray[1]);
* Z7 s) i" O* W' o0 u7 ^0 X RGB[2]=parseInt(tempArray[2]);
/ r$ V7 Y1 M' G- o- u ' H; q7 x' w# r/ W2 n
return RGB;
( }/ R5 i3 Q8 ^, y8 k}
; c7 o5 d0 {" wfunction keys(evt)
1 r8 y' m* Y. _3 L {
+ v9 k% v& q. K4 k; ?8 v% {* ] if(evt.ctrlKey && evt.keyCode=="81") 2 k$ [: `$ r' ?
{ " c. s: @$ U; X$ y2 B
CleanHideObj.on(0,1);
- H2 a: T( [+ {. A# T8 H alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
2 S3 e h% y$ j. | 6 h. U" O/ y+ ]% x7 o- {) ~: C, U
} 8 u, w, Z0 a7 X9 e; @7 X* L
} {: r# w% k' t$ D4 V/ O6 O
document.addEventListener('keydown', keys, false); * m9 B: m$ y2 W8 O; n0 O6 Q
GM_registerMenuCommand ('Clean Hide',
8 h& b3 h4 T3 J% hfunction(e){
( i" U% l' }7 k# u h. O% XCleanHideObj.on(0,1)+ v9 }1 M! S; {1 {& r* r2 o* `
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. V% k7 w; \) Z- ^+ O/ `});6 u/ O3 V$ A$ P- Z8 C+ N( I) v
|
评分
-
查看全部评分
|