|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
! C- I, i; R3 X" o+ H
1 M9 M& G4 t0 b% c$ k6 b火狐插件,用猴子 V' Y( F n3 e- T' u
8 s% G' C1 ?; [' g9 r7 Z! F, y4 H
var debug=false;
% G8 M! z' B! ~* C% U/ t: Uvar CleanHideObj=new CleanHideClass();
2 ^2 _; \" p( z& h. I `: l& ]9 ]9 V. @. e! ?# M- {% b/ `
function CleanHideClass()
. i; |( H o: \ g{
8 ]; r3 t$ R, P" k5 J
$ `: {: ~# H9 S! v/ D& M this.on=function(id,bMZ)& n& d! d. H5 L! y+ u
{3 {8 v2 b% a5 P" B9 p
5 Q1 A0 q, @- ^4 {/ l6 y6 s; K$ o if(id == 0)/ o% G+ y2 q5 w5 ?1 c
{% K# L# |, K) \3 b# s+ Q8 N R: O" y& x
var page=/* document.getElementById("content").contentDocument */document; 5 W$ E9 S# K- t8 y- K# E: o
this.RemoveHide(page,"span");' u5 W5 Z, c' t9 ?# `1 _
this.RemoveHide(page,"font");. `0 \* K$ G. x1 U A" y
this.RemoveHide(page,"div");
( f) M# ~4 K4 e9 C this.RemoveHide(page,"p");
2 m5 S% h% E( h* r4 Q5 Z& h' E1 T . V$ m) E. q4 t* T% e" g
}! `7 Z1 B5 c. U; O1 i$ g
, b5 X, ]6 w' [) ~" }9 P9 ?
}
* {" d# p1 ~* t1 s2 c* l this.getobjstyle=function(node,prop): R+ y& Y- P5 p: e* i8 D% ~& r
{" Z! D; O+ [1 z. Z: q) N5 R
try% ]6 \9 z& C$ f9 p! ]0 E
{% R s5 y1 p4 u4 s0 y" u, B
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
3 p j |! I% H9 m) ]; t+ K }
2 ?) | y3 m6 k9 J& |' y catch(e) S9 ^: R+ ]" t9 g7 \
{' j' F! X2 k( h) m) v N# }( r
if(debug)! g3 U0 L2 }8 a/ _6 Z
{
: k( ~/ @- [! p. @; v, x7 `# J" h* g W alert(e.message);
2 }2 Q. J+ v' @+ O! {. R- t; O }. V1 O$ f" t2 k1 X" o7 y
9 r! H& p9 I& _1 Y
return "200";
2 t. |9 _' n! _ R! r }
8 O+ _! p+ E/ o- K/ |) Q" Q* V }
9 Y- x" s% I" z3 o+ Z
- X% w) ?3 X2 f: |; J% @) L1 C this.RemoveHide=function(page,objname) R) Y8 O9 ^# K
{
. P# K$ @1 b# p) {6 u! _* G try% O4 ?+ {0 K1 _7 v* ^* L' h& g
{5 s: [& D/ x( t' \- L: R
var minValue=15;, W. D: q: e }! ?" X9 R
var objs=page.getElementsByTagName(objname); 7 i2 R1 L" V$ {) F4 l
* I/ ?* ~$ ^% e! H: I if(objs.length == 0) x/ k+ _/ k4 T. n! q
{
! h1 l; E( n1 O8 e7 y- s if(debug)
% [, S+ P% x9 j {7 Y+ R1 R) p% w- @1 ^0 g
alert("no object found!:"+objname);0 t3 a% P1 `- U3 v6 {& m
}
1 y& H; j3 R4 _ }+ H0 e& E. g1 A
else2 u3 R6 T# s; S0 n+ c( k
{
, l" q7 b2 n6 Z. G# W8 G7 `
: P, P4 y+ E3 @; t for(var i=objs.length-1;i>=0;i--)
4 z/ Q% H9 d4 |# v1 P* l" k& Y {
" n7 w( [* ]6 c var node=objs.item(i);
R5 ^' s, S! u1 @+ S0 a 9 T9 h/ @5 A% {7 Z# O
( D+ W9 B& Q9 D if(this.getobjstyle(node,"display") == "none" ||- w% N1 k- [9 z
this.getobjstyle(node,"visibility") =="hidden" ||1 Y% ~3 o3 y& f/ a3 U% t0 X
parseInt(this.getobjstyle(node,"font-size")) == 0)
& G* T2 k+ r K2 R8 t {3 ?% I) J1 ]( m6 L ]1 a& F# b
if(debug)
2 _& Q' k" ~0 K- h) W& J, V: m {4 D: u T! [5 n# q& k- r6 p
alert("remove invisiable!");
) X7 o7 k$ a w4 x% c0 i }1 S; I' d/ W9 f& w
node.parentNode.removeChild(node);
7 _- ~% d0 s( @3 H- ]9 @0 Y& w - d) e% U0 t5 e/ l/ I5 J8 z4 K! q
}
. w, P9 I6 u8 N' D5 r else
0 v6 |& s! T- w {
$ w o: Z; i% O$ J6 G if(node.parentNode) 7 o0 \( Z3 N! ~. F; ?6 Z3 F% F
{
& m9 S& _5 I# ?5 p, N+ E) e var orgNode=node;2 s3 N& Q, {' @5 }. Y. y
var orgColor=this.getobjstyle(orgNode,"color")
- S) ~6 q% t: C$ B% s( N) E& b9 V( g var orgRGB=getRGB(orgColor);
) p" S0 G; Y- a; _/ H2 O; L% ]( E
' ?8 W& D- m2 V3 C* `8 c var parentNode=node.parentNode: {9 d: W9 B4 C4 ]2 `
var parentBgColor=this.getobjstyle(parentNode,"background-color");
/ `6 C4 Z$ ~; b7 d" f! [
3 P4 R+ z* s6 ?* Z var isLast=false;
" Q* p i1 e) W; @+ F3 }3 v
0 u0 w$ L2 n) I* C2 b8 D while(parentBgColor == "transparent")
4 \* b/ _5 Z7 ?. K& N {
; b3 U$ I6 U. u% P4 y- m ' f7 J" b8 B. J; [4 R
$ d) `$ ^# D; T
if(parentNode.parentNode == null)
/ M$ X" r4 n; L/ J3 l1 ?, Y6 ] {
$ J* W: w9 V9 ?- C1 s* E! X* | isLast=true;1 N% H5 j7 j( Z
break;9 b- {# C7 K# V7 n( ^3 \: G2 F
}
! @9 ~$ m6 z" I) }* H' y5 }# D parentNode=parentNode.parentNode; @4 j b( n) P+ @1 n5 L- t5 w
parentBgColor=this.getobjstyle(parentNode,"background-color");' g$ S% J# K A% S$ ~
; {4 f, z8 t4 E' T. m if(parentBgColor != "transparent")
$ ?1 | z# V& a {# `; _" v D l- _1 m1 j$ ^2 f. R4 d" ?
break;
! R4 j, j& x; c+ `/ ]$ { }
2 E0 q) B2 u5 [3 [ }
1 a8 _; b* d; T if(isLast) 6 }, J& N" f+ d2 L0 c4 ^
{- n! C/ D3 c$ }' @# G
if(debug)
* P0 A* _4 J6 v" W, J! b& ^/ V' w {* u' a" o) ^( S
alert("last!!");' d7 q2 ~7 M! d- @
}" R1 u9 l! t, ]/ w5 a
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
4 ]) }) Y4 P* f8 k. V8 y* b; v {9 s; G& Q, b2 M1 N
orgNode.parentNode.removeChild(orgNode);
; ^ d- W+ `) e& O; k6 ]; o }
& L9 K g! @( r" `" E2 S* v }- ^6 ^7 q9 k! q
else. M1 X% \7 @' H- l* B
{# ^1 n1 @# c" E# q, c/ S/ M, S
if(debug)
, q9 J4 ?0 `( O" D1 ^; r {/ T8 [2 @" ` v- C0 ~
alert("compare color and parent bgcolor!");6 f9 ^5 z* z: S& J0 d
}2 T& y# i9 |) a, _- f! y6 @6 V6 M1 N
parentBgRGB=getRGB(parentBgColor);
6 t3 Q; S% ]2 \: A4 s! K if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
: G: i$ j: r3 {. { w {7 u- ~& t# C) F, w* m" _
orgNode.parentNode.removeChild(orgNode);
7 R* E7 u9 N% `. p }; {2 K6 B. _3 H6 F
}' f* }) R% f5 ?! Z, q3 \5 |
}# Q7 d+ X% B; r4 I' p0 m7 w' i$ l
}
! Q8 S0 \) [: z) ^3 x }% K2 h" z4 v$ V
}
x/ a* n6 m3 W7 j$ [5 ] - `5 X" T8 g8 q' `
8 ~) E3 F/ ~! b8 f2 o& {$ k/ b* s var itemFrames = page.getElementsByTagName("frame");
7 p1 Y* d8 M+ _ var itemiFrames = page.getElementsByTagName("iframe");
# t5 [! s6 ?5 ^9 t & b! L, h7 _$ A2 }9 i
var frame, iframe;
) u4 M0 t0 U& j( j if (itemFrames.length > 0)
/ B6 K. P/ f \1 A i2 D {1 z, p! |6 R+ W4 u7 M& y
for (var i = 0 ; i< itemFrames.length ; i++)
; s; ~$ y+ O# f8 v' j i( A# H A2 W {8 W- H. _8 A) v( ?" K
frame = itemFrames.contentDocument;; ~6 A0 b6 f! d# w: O4 ^: N
this.RemoveHide(frame,objname); 4 Y. Q) K- e6 a6 z5 u
}
1 S: q7 Z6 H1 C+ w V }. x; I, M' `- e* Y0 N5 d( V
if (itemiFrames.length > 0)/ c2 C' |# d! V, m0 W. p
{
+ m2 M$ i2 i: E5 H( _$ K( T8 S for (var i = 0 ; i < itemiFrames.length ; i++)
8 z4 e ?0 i( e {% ?0 [, _" q" ^5 y6 [( f
iframe = itemiFrames.contentDocument;
! G, Y% F; X' s/ A* c- D5 X this.RemoveHide(iframe,objname); 0 ?& }- T/ u" v: F& n
}
" ^* T5 |+ M+ _7 y }
( o2 v" v5 S2 S }7 R! `3 s; r# I
catch(e)$ F6 {+ F! N. f) U0 Y2 U, U
{- @9 W( Z. W# p! R( K
if(debug)2 F7 G5 a: ` n) [4 O- q1 I* }
{1 Z, @2 @/ ]7 R6 _) m4 U1 j
alert(e.message);, A Y) t) B- |( J3 M! A# b
}1 N: t: d: T6 |: y0 s* ]" F
}: w6 \- X% |6 _' r
}1 ` i% q: j, a" z
3 y. x$ P3 [4 Y6 L
}2 E( N. x1 x& X3 R) Z3 z5 k6 G
! V' t4 k6 Y4 S) }function getRGB(colorString)& q# c, `% ~! |1 [1 j, v
{, Y* ]9 {/ F8 @ w
var RGB = new Array;4 O9 F) V6 M( H6 M+ Z
var tempSting=colorString.substring(4,colorString.length-1);
5 b4 ]6 L. o. B! Z* B var tempArray=tempSting.split(",");
4 O5 U: ]+ v1 q0 }! o, d2 E: M
i8 b2 t9 Z! x5 n; M RGB[0]=parseInt(tempArray[0]);7 O" f3 V$ e1 {/ h( u- T
RGB[1]=parseInt(tempArray[1]);/ t* B2 Y# t4 E6 Q! ^
RGB[2]=parseInt(tempArray[2]);; e7 d- m6 e; G6 z% D2 E1 _
7 \& O' d! N! l' P* u- A) l/ ?
return RGB;
) ]: }5 W. R- N1 {}" ~& G0 i! m( t7 b
function keys(evt) ; T( E/ s- l- D: \) A! d2 K
{
. M& L9 K/ {, p. o if(evt.ctrlKey && evt.keyCode=="81") ( H: |$ L4 A- s* N, Q& r: L6 ^
{ ( {" m& `) a- @ o6 g- m
CleanHideObj.on(0,1);& X3 ^8 E7 i. b5 i& Y* T1 J
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); - t! I, |/ X4 m
$ f( \' x. S% p3 T
}
. |! Y. M* q; B$ e8 o% U e- b+ G( l } 5 d8 V$ `" n9 Y# `
document.addEventListener('keydown', keys, false); - @. \1 h4 L+ ^. l$ Y9 \1 `% j
GM_registerMenuCommand ('Clean Hide',. y5 P: t6 ~" J
function(e){1 o3 H; B/ c' q; m: A" i+ l
CleanHideObj.on(0,1)) t% \- W. R% l: _
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 L6 V Z6 i8 n% V" H
});
+ r( h4 d+ Q9 Y: b |
评分
-
查看全部评分
|