|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
1 y. `7 h! D! T N5 y
8 w# p! o+ A* I. _/ C火狐插件,用猴子 u7 e% `) c% `, g
2 X. e5 \0 M& j3 f% l
var debug=false; 5 A- D+ Q' @: e0 f* a+ B
var CleanHideObj=new CleanHideClass();
. H' k$ k1 c& M- l; v, }1 O
" U" k. G: b& t2 u. k4 j( S4 ^function CleanHideClass() ! ]) l7 H: c2 y) {6 F& A4 y/ K
{ ) {- A( s- d% I
. P# W6 g# s2 A% o
this.on=function(id,bMZ)
& a7 i$ w; d" x( K {
1 f, k0 P; H8 O+ A8 ~# x: x . j8 o6 l* z" ~
if(id == 0)
9 _8 X; e' C) |; g" r$ p' Y/ G {7 b$ M0 L$ ~) S7 @. w
var page=/* document.getElementById("content").contentDocument */document; # C; X. {- \( N- B3 x- X$ C% X/ P% A" o
this.RemoveHide(page,"span");5 v0 R- V( [; G% v- i
this.RemoveHide(page,"font");
9 C. v4 v2 U z( ?: \ D3 }( w this.RemoveHide(page,"div");
+ ?5 P7 i6 U! b$ i: P) x. w5 q this.RemoveHide(page,"p");$ Z* ~5 [9 H+ k4 Q
0 H h t6 Z S5 I5 B# _
}1 g1 n, V. M# Z4 }1 f
6 X) i) E% L) k7 ~6 G- h* ~1 ~( p/ _
}
5 X+ z' C! s2 x. t) v3 q# l; o this.getobjstyle=function(node,prop) y& E p4 w. F s+ P8 o
{1 z; b% u, T% t4 Z# [- N
try
/ Q* F }7 {9 @& [; H" p) h {) t s& s7 M) S0 g+ }
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 y' ?$ \6 z/ h" E$ T. ^
}) g( Q8 R% }9 E9 r. Y8 m
catch(e)
; ^- b& y: c5 N. m2 O% Z {
" |5 |# m {; _% ^0 z if(debug) m. a1 `# D2 F, F$ N, _
{
. r4 [2 \8 b- [/ ~# m alert(e.message);5 [( H+ E. w) v; O f; N. L! p
}4 @2 o' K K: X# q3 H; Z
) } |: B0 Z0 T3 ^! j return "200";' z+ N; H+ u- y4 t. J) M$ x
}+ @) s9 n" A+ Y$ U, c# z$ c) c
}7 d2 N( J- A. J9 Q) S0 N8 [
H; ~) ]. p! J' t0 U7 K7 y) n3 A" }" U
this.RemoveHide=function(page,objname)
+ a6 f+ I A* L {
7 n( B' {! H+ U; H$ L try, V: i& g" x L( x X2 n
{% \& x" r) g- {
var minValue=15;
; Q# b" g- v/ h: k2 j9 L+ F# |4 B( H var objs=page.getElementsByTagName(objname); ( \5 g1 z" ^. u1 m% Z
A- p7 A) i- Q if(objs.length == 0)
! r) u' {; w! S {
8 f7 g" Q1 I+ }' ` if(debug)
- c- r) `: p3 f- J$ E, q/ G {
6 q3 G+ v$ j1 F alert("no object found!:"+objname);$ ~3 T) B% [, i; R1 A2 b$ ^& X" ?/ I
}
: M$ i5 W: i* F0 O) y8 v }
! e/ o% E# T2 h8 t' C4 R: a8 G: ^ else
1 E: ?- `, ?# e$ ^1 B1 Y9 s# ] {$ k) p6 D. [+ W1 Q a4 R
% m( C7 l7 z; s) u1 T. c0 Z k) o* Z for(var i=objs.length-1;i>=0;i--)
- F% G! t- }2 o& s) x9 N {0 S! n- T! }4 h U N
var node=objs.item(i); ) T2 r) N% H- M Q2 j$ R: k0 [
. W, l& \8 `' Y 9 P. H/ h6 e! d) {
if(this.getobjstyle(node,"display") == "none" ||, a, G; I) z* k7 a" n
this.getobjstyle(node,"visibility") =="hidden" ||
/ ~4 u; Q/ [# a. T- B4 b' S9 r& B parseInt(this.getobjstyle(node,"font-size")) == 0)
' Z3 P* q' {! {2 ~ ~6 V7 A' s {8 G k4 J: w6 i+ P3 u) @
if(debug)
0 I, A$ r5 S& @3 Q7 \ {4 R! d1 N% s% x' w3 a
alert("remove invisiable!");6 Z- d) K6 U0 D3 A0 H
}
( n* Y" m6 s( c" U node.parentNode.removeChild(node);8 b9 k/ s, s, ?+ ]
' }7 j3 i8 `5 w }
2 K3 Y* R' U5 G6 G3 E else
9 M+ n* U; d) v: |- ], p( n# k9 k+ \6 R {
$ m' ?! A2 t" |. h! P/ a1 p if(node.parentNode)
: N( H" ^0 o. B5 @9 ?3 l {, b8 K" A9 O- [ r* q% [
var orgNode=node;, A _% b5 E6 V# I% z, @8 R8 O
var orgColor=this.getobjstyle(orgNode,"color")' {2 {1 U5 U5 L' O4 K; `$ D
var orgRGB=getRGB(orgColor);
$ L( S1 V( g6 q8 R4 T* }
f' F/ a0 _6 p) P var parentNode=node.parentNode
0 L+ m) L$ p) Q2 l var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 I" A+ C- R9 t" f# E! K! a ( K: y' t6 [, t# D& K2 r
var isLast=false;' T% K5 f0 O, ]* v- ~; d c' q
8 S! ~- ^4 {3 G3 a" ^* e while(parentBgColor == "transparent") 7 _8 N7 z4 Q0 V, m; s: ~. {
{
6 m+ T- X8 R# `8 G# s% M7 f ) ^( C% s$ E' K% n9 j# _
- {! ^ X- |" [! ^5 e' ?; Y" ^7 } if(parentNode.parentNode == null): D8 d8 b2 X9 V( I4 m
{) }, }; }- g5 t2 f8 l c% f' k
isLast=true;; Z7 r: d) F4 n5 V# l# S
break;2 O" z& F. g* v6 |) A- C
}
: i1 X$ m$ _- e* n6 k$ W parentNode=parentNode.parentNode;$ ~4 F5 ]! N$ x# D) ~
parentBgColor=this.getobjstyle(parentNode,"background-color");. K. q" o! x- m1 J
% q( E( }$ ?3 O3 E8 `8 q( Q
if(parentBgColor != "transparent") 3 F+ u- ~( l! p% l9 @! j& ~
{
; I6 V4 E+ _* w5 [ ~. t' C* Z break;
, `7 Z- R) p( O& j' E( e }
?2 F6 U; i/ x4 R3 ~) ~0 K }
0 p$ Z) V! N; a if(isLast) / b8 Q# ^6 p7 P2 G- q+ R+ K+ Z) {& i: f
{
2 E4 I; s$ D: b2 H1 d$ A if(debug)$ b( ]6 B, b2 t
{
. |/ a7 e( @/ @/ O- C alert("last!!");
5 n$ l, i* w9 b# H7 {1 r- A }5 _8 Y$ T2 p" \
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
0 |+ ^1 ?6 c' r; c" q3 B0 v6 J {
+ l4 U9 P2 X/ j. Z: B/ A; _ orgNode.parentNode.removeChild(orgNode); 3 w$ f( @6 Q9 s+ u+ w9 a4 A! o
}# Z; Q5 F ^, H
}6 K' i% Q- V+ b4 _* f% o
else7 g8 U# c# X# [! l- r5 q+ q. z
{1 M4 y6 M' F/ b( }, e2 W
if(debug)
* }' t% O* A- @8 }9 t$ o% h& C {% w+ E9 S. }1 ]2 }! m, y: X
alert("compare color and parent bgcolor!");
7 L+ X0 a; Q6 \9 T }) v4 b! L. G; L p
parentBgRGB=getRGB(parentBgColor);5 m; [4 G. j2 v* W# j% a+ C! T j
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 ~& P2 W$ E& [& I {
6 P8 T7 O0 B7 ?7 T orgNode.parentNode.removeChild(orgNode); 6 K; A) J' L& r3 W
}+ E" h2 P0 j9 R0 x j p3 P
}
5 t" U* v/ s- X0 I }
A9 s+ r9 g5 ^: w* O }: W! E* a' f3 b. D8 O- K
}
2 ?2 q! c* T5 Y9 i. [ }# T1 x+ `! W0 {- T1 h6 h
0 |5 [5 \, s" h% U& G
! Z/ D$ Y0 {& x6 a6 V var itemFrames = page.getElementsByTagName("frame"); p: R( y. Q. \! n
var itemiFrames = page.getElementsByTagName("iframe");& ]3 r& V! W0 U9 b7 c4 B$ C3 n5 K% Y8 M
) `- s8 M& ^/ q7 D
var frame, iframe;
3 p" b9 _3 A' B0 ]& Q) p if (itemFrames.length > 0)
( i7 J9 Q f( e0 v* ` {9 B, k5 u! h1 K% u$ E
for (var i = 0 ; i< itemFrames.length ; i++)
( x) Y7 A% `6 V, P6 m {+ P& h* Y* d1 b) i" O, P
frame = itemFrames.contentDocument;* t$ u; N7 k+ h% T
this.RemoveHide(frame,objname); $ G [$ Q1 q+ Y7 q" T# Z* i; }9 q% D* b6 f
}7 K1 q" [+ E& _9 [7 w
}
6 u* c2 y. K: b+ g) T" s8 r$ v% ` if (itemiFrames.length > 0)
+ X8 Z6 W( p8 Q6 x, s {/ `1 _( e7 \) T3 ]! N
for (var i = 0 ; i < itemiFrames.length ; i++) # I2 H* Z) x4 g7 V9 ^- K; O) I
{: z3 D" J& Z- g O6 D
iframe = itemiFrames.contentDocument;
$ i! T7 M; Y& ]1 ^; P this.RemoveHide(iframe,objname);
. w6 x& `, I* | }
) \( J2 a F+ I# v1 ] }
i5 t( F/ _- q& @/ T, J" ` }5 E0 t" ^5 R& h8 @3 b
catch(e)' N, `* {3 o- V9 m8 y6 ?1 j8 A
{( S% \, o, u, g5 v& I9 o/ B
if(debug)
" L/ k0 s/ ~/ E+ S C {
; ~ x* T' w: S alert(e.message);, g; U0 I) f/ y" G) ~5 m$ q4 w" L
}
& h) d3 W9 l" ?- W1 } }
' p3 Y, w. y0 I' q0 j5 H$ | }9 |6 h/ _5 J* `
6 l" c, e4 } K}9 f: o8 g& \0 ?" h
$ T* S; [- h, {! B" H8 v+ }& X: Yfunction getRGB(colorString)
]7 e9 l/ d& t{) \% z; Y6 k8 b
var RGB = new Array;
6 A6 N4 Q6 f4 b9 L& ~4 i; o( r/ g var tempSting=colorString.substring(4,colorString.length-1);5 v7 m6 X1 h! ]% Q
var tempArray=tempSting.split(",");9 R) c$ I, A% A( B
8 ~; E! K: A* L ^: v RGB[0]=parseInt(tempArray[0]);
+ \. h# C, ?& O! b7 u RGB[1]=parseInt(tempArray[1]);
+ H& N6 {+ N) V: o9 I RGB[2]=parseInt(tempArray[2]);% k! Y4 ~2 E3 w* D
9 \# l: E6 P$ ^" T, o
return RGB;5 F4 T3 ^2 n& M* ~* B# X
}0 o" d/ G! C3 B# B: U/ s
function keys(evt)
q, s( m- o' \3 w, {7 _! k: h { & k$ h: y; c0 C, c; A( {
if(evt.ctrlKey && evt.keyCode=="81") . {1 G3 \9 ?& ~9 e
{
5 k3 ^0 D; x; }- r CleanHideObj.on(0,1);0 F0 [* {3 b0 Z
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# S; I: l4 w r; r" R
2 z, l, Y0 S2 {$ p }
/ M6 V1 h' r0 ?% J% ~/ e }
% e# q/ x `$ T8 idocument.addEventListener('keydown', keys, false); - x5 K' z4 W: l/ _, [
GM_registerMenuCommand ('Clean Hide', r! t+ i6 |9 F q+ w' t4 N( o
function(e){6 @9 y- C$ l' x: M
CleanHideObj.on(0,1); `" q% A+ j. ?
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
& G# Y* D" K* B2 J. n1 f4 f});
0 Q4 t: r: t4 M: E8 G3 c# N; k; K |
评分
-
查看全部评分
|