|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
+ B: N4 o* x& {5 c# Z/ s, s5 k, v( ?
火狐插件,用猴子
7 D9 m; v8 S1 R- n7 R+ h
' r2 A' |: _, @4 @var debug=false;
! r' u- h* E: avar CleanHideObj=new CleanHideClass();* R3 z Z8 s- m" g1 A1 x5 c. S8 F
" A. ~5 Y6 j8 R
function CleanHideClass()
$ N% L- K6 Y' Z% y M{ 5 a# p3 S' ^7 c) u2 ^# k
, Y# H% h5 V) A" `( K
this.on=function(id,bMZ)
' a' ^" U* D$ C/ E {' X2 d- O8 a* J( H# v
% G9 B$ x% O5 \* h9 F if(id == 0)
' D" n( b! v S. C% \ {0 O- }* L+ `# i5 K6 I7 `) n0 m9 y" X
var page=/* document.getElementById("content").contentDocument */document; 7 F7 s" x" U' W7 l( h7 \! H
this.RemoveHide(page,"span");
6 e) T4 |# l, h* i& T this.RemoveHide(page,"font");
; B% z- ~2 e0 j C+ m+ { this.RemoveHide(page,"div");
d, R. t6 W2 O- H( _$ ` this.RemoveHide(page,"p");
9 w0 @( C) {+ o/ S7 a
" |8 d7 g. n3 p& z# `4 n }# t2 p3 |% C: a
: ]. s# E9 ~' j2 c }7 i; G Q3 c% ]
this.getobjstyle=function(node,prop), c+ P$ N! f! M7 v% u3 N2 r" J4 }6 G: v
{- x5 E, _: r& _- R+ ?& Z8 q& U$ d5 ]5 t
try
* I, q4 I6 S' b1 W( R. s {
+ [) x- ^" T/ G# `& U; l- y" Z return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);: @# E& N" e6 z8 w8 [/ I
}
" U& w- I- {: Y6 J( c' v catch(e)
- X& |1 d- ?0 L; N/ ]9 K& S" e {
( s* M4 }3 o) Q" m. P if(debug)
; {$ o. X1 ^# O4 r% c. u) t1 D {7 d7 Y% S" p4 V4 S! \
alert(e.message);
4 _, g \7 M3 |+ c6 O) H }: ^3 N) O, G6 c
" P5 s. y; S+ t: O% N
return "200";
2 o1 {' X( F6 t2 i& I }3 X& {0 q7 u+ i) X- B
}
: A$ E/ \. d1 n$ V6 U- _" U6 Y 1 H* n& z( h8 n, ~7 F2 f
this.RemoveHide=function(page,objname): z1 ~* Q! S9 Y) g8 S* y, c3 B
{5 l. z, i8 z0 m6 R0 U
try. h% i- t; \: p9 f9 X, |9 {
{- I. `8 E' y+ `+ v; z+ b
var minValue=15;6 x" q! ^( C9 D) Z4 N
var objs=page.getElementsByTagName(objname); 1 }+ A( o2 o. H
5 \+ |# C; V& I9 a( _2 T/ P if(objs.length == 0) ) a) {( D* m4 {) I3 G% X+ w- {; C
{
0 {& @+ X+ k& R if(debug)
: j( ^9 q! d8 P o9 U! ? {
! J7 k8 n: A+ g" k7 l8 O alert("no object found!:"+objname);+ h8 M+ n! p( H F2 ]& n
}
6 k6 w& ?7 z* _/ Z, m }( S& O6 D2 E' Z: P9 M
else
$ a3 T }" O. t, S6 V {% Y& K0 G- J3 M+ ]( }
( B `0 D+ p6 o& y
for(var i=objs.length-1;i>=0;i--)
+ I8 H# f# ]; S# f+ Z {
- m3 _$ v7 H4 N' C. R5 L/ I$ c var node=objs.item(i);
" ?4 [5 ~$ o* @1 O' B
/ H+ _6 _& b: q* T; e. u$ f/ D# X
% r2 l) W* ~/ O ^" N8 H0 i7 _% n if(this.getobjstyle(node,"display") == "none" ||
1 x( z5 W0 d- ] this.getobjstyle(node,"visibility") =="hidden" ||$ ~$ i- O5 ^' d' w* M+ i( U) g) m
parseInt(this.getobjstyle(node,"font-size")) == 0) & `) I- o; h* A# e% N
{( { E# T* [6 M9 n0 |$ U
if(debug)
/ B0 T5 C" p% `" k3 H6 |$ Z$ N {1 s i& L8 H6 y4 h: ?, K- o* Z' P3 N, f
alert("remove invisiable!");
$ I, ]/ `; t& A( G% J4 ~ }7 X" q' H% O2 D# j9 q, |7 a6 C
node.parentNode.removeChild(node);; Y4 {6 W( N; t) F1 U
7 M' X2 Y( T; F) |# T
}
8 W! C- ^0 m0 f* F- j2 W else ) {/ }* C2 z) {! g% N! o6 I7 a
{- e! q& z3 B5 a! s3 `0 Q1 X
if(node.parentNode)
+ u3 o: ` e9 x8 U @3 X {
" E- R2 y; L$ D var orgNode=node;; p, i; E' g8 o3 y5 j! _# R3 |5 }
var orgColor=this.getobjstyle(orgNode,"color")
' \8 e! U: u. R: r$ x var orgRGB=getRGB(orgColor);
8 x; X+ @4 M! o' \9 ~0 X1 `
5 E' O" \; s9 f0 u( l var parentNode=node.parentNode
8 i. {3 D- f" r: J1 A2 U var parentBgColor=this.getobjstyle(parentNode,"background-color");, v4 ^* D7 X; |3 V1 e
1 V8 p6 w; F6 ?7 j, l var isLast=false;
- ^7 u8 E; y3 d4 K c2 G 1 z" P) u# }- o3 O
while(parentBgColor == "transparent") 7 e, s8 Y' \. |' A1 W; {
{
4 ?* C3 Q7 F% {! ~' d* v6 I& R. r, ~7 O
1 R6 \: `9 [& O9 G! D2 W
6 e; r9 J9 o5 X$ R if(parentNode.parentNode == null)
( D$ J5 ~' @+ {& w: I {- {" T" P! R2 R2 A* Y! t& }
isLast=true;
/ Q; @" k2 M7 O! |/ [4 h) h0 T break;6 [4 c6 g7 Y, m5 T) k% h
}, p/ n' S | s
parentNode=parentNode.parentNode;/ p1 f9 S* M, r& Q1 u- M" z2 v5 A
parentBgColor=this.getobjstyle(parentNode,"background-color");+ ]% R& D0 ~" }
( O1 L# G/ h8 |+ D6 V% l* y( W
if(parentBgColor != "transparent") # S7 P6 Q; D3 W) t% [1 B! c$ M
{) ^- g8 ~9 m }1 J. q
break;
8 y' A9 j" O, h: T S }
: g3 \9 U: {5 b! r }" e; w/ k- f: u& t4 F
if(isLast)
# @2 a( }- z% H! q {; ~1 u9 O9 }8 L% U2 C# a
if(debug)
: |- s+ g9 ^& q3 A* F: ?' d% e; \ {8 ~, f5 S1 f, O9 M( G: [
alert("last!!");
( |& a0 C5 L& d2 d! a4 Z8 d# b1 S: G }% ?9 T4 t1 ]) s X
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))+ N6 p' c' H$ x. [3 r* s' r- n
{3 B6 S7 N4 T3 D5 O+ z, z/ `
orgNode.parentNode.removeChild(orgNode); ) ?% ?% r D4 t- X5 a8 z. A
}( }" \6 |$ L- D w- F
}: x( Y5 `+ r" G2 E" s9 q
else2 d, d' d3 M0 q! y3 l1 G1 Y
{
7 D7 ]( W; r5 m0 c# U" h if(debug)
& Q3 X& d' g. f' M& _7 m7 H0 g {4 m" [- M8 {3 b+ S( C2 ^
alert("compare color and parent bgcolor!");: n+ Y6 d) L$ V3 {
}: f. l5 D1 {, Q6 l4 p; H) [
parentBgRGB=getRGB(parentBgColor);
3 P- P$ r) c4 W0 |0 c if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))1 y3 z, b" G! J) z0 t# w# p5 I
{
6 M0 e0 [: G2 Y( y orgNode.parentNode.removeChild(orgNode); 9 n o$ |4 Q* G* p: _
}
" Y3 Y$ x; D# x% t. l$ s }8 v' ?) a8 H2 ~) Q6 _) T
}: y$ M6 X& D) }2 o! Q
}0 w. ?7 l: O8 _/ e& T$ [" I% j1 ^! ~
}+ T3 ], u5 ~3 v/ t
}3 s& D0 }" Z9 W1 N2 Y
$ K) g# y: `2 P. Z& f, B) \1 _
' u i7 M! ]5 }" k7 ~: g- P2 `- |
var itemFrames = page.getElementsByTagName("frame");
3 |% d9 x) g1 ?( J/ y var itemiFrames = page.getElementsByTagName("iframe");) }5 L; f3 ]8 _' R) c6 y
' n. ?! `8 G' v% F! l) w; J var frame, iframe;
7 _: Q u1 M. o* e- y+ [" l if (itemFrames.length > 0). r A- V% Q7 B# `4 K0 i: u
{0 \/ ]7 h5 B" n9 a3 ~% x' m1 p9 t( S
for (var i = 0 ; i< itemFrames.length ; i++)
. N% m2 C0 z+ z5 d: C% } R {
# X! N7 U! X ~9 q& T5 l3 @ frame = itemFrames.contentDocument;
7 Y9 h1 t" o2 {8 w( J) n: ?& c5 Z6 z" h this.RemoveHide(frame,objname);
& v6 e7 a! \/ L4 ^; a }
9 k n) @, T" h. B! }8 ~* y6 U }( ?. p) [! \ }; k* I5 j' M4 J) w
if (itemiFrames.length > 0)* [5 V1 t% a: J' @! q
{; r+ A7 h! I( k2 [) r
for (var i = 0 ; i < itemiFrames.length ; i++)
: n9 h/ D* c" j$ ?4 a {
9 F" ?# l2 K5 B4 P iframe = itemiFrames.contentDocument;$ P+ K8 {, l- f4 T& m6 M
this.RemoveHide(iframe,objname); & h, W# K- b% @
}
. L' J# ? w* w. M4 L }
. ~9 o3 Z4 ]+ O }
# j7 a0 v* O1 ]; d( O% m8 O catch(e)7 v! v; f: U2 e+ P0 ?8 T ^4 H# t# }
{
- h8 G9 D/ g# c( d if(debug)# Y6 V- i5 p5 O3 a% i- h( X
{
% ~( \4 a" ? M2 {& v, E7 D6 p7 D alert(e.message);2 l+ p5 u+ d* }0 r, a4 l0 o5 S
}% N( |' j: G7 E. i" s3 W e! ]
}7 J S* S! ]; n j2 F7 \0 B7 ~! J( K
}
& _7 |+ b) ~/ [# l9 c2 x * G! [8 h' H" C' v3 H
}/ T1 n& M7 R( C& R2 x1 \
0 l' @( I8 c. r9 [- _0 ofunction getRGB(colorString)6 |- C: Z/ |* F
{8 l4 M7 R" p. X
var RGB = new Array;
( @, u- b& L- t0 N; E4 J7 |8 U var tempSting=colorString.substring(4,colorString.length-1);
' T: x; o9 O1 ^; u var tempArray=tempSting.split(",");" |! g* G# E2 Z) C! w
" ?: ?0 G# l) L0 \+ t3 G; M- u RGB[0]=parseInt(tempArray[0]);
/ n2 h' {) t% \: L1 X; | RGB[1]=parseInt(tempArray[1]);. A4 ]& y; \: ?! v, _- P
RGB[2]=parseInt(tempArray[2]);7 S1 c- `0 X. c) ^$ a# F
$ w& S6 j: ]3 U% A" y# `( s
return RGB;
3 a k8 a9 Z0 {; q}
" |7 V; a$ h. Gfunction keys(evt) 3 }- c- O0 C( i
{
7 ~* C, W. y P7 o2 c3 f/ x if(evt.ctrlKey && evt.keyCode=="81")
8 K g0 B/ F O {
% ~1 ^3 y! j% C9 M& ^* f% ~% { CleanHideObj.on(0,1);
. L* H$ y2 J7 r! m& G2 e; D alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ) H$ b& x+ O9 {8 f% P% u
$ |7 [: o* m+ `/ u, j7 y! {/ H4 s4 k% A
} . w; X4 v B9 z2 r- E f
}
/ E C( I( M X4 O% c( p9 ndocument.addEventListener('keydown', keys, false); $ N3 A- Y1 N8 \. W2 Y
GM_registerMenuCommand ('Clean Hide',
) X, ~1 v+ X2 [function(e){
O1 q, A% q; n$ A6 CCleanHideObj.on(0,1)
; `2 X8 Q! _- b5 Z4 talert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
6 S! b! y% x; c! z Y3 w% R' [6 S" A});" g* ?+ T- U0 [
|
评分
-
查看全部评分
|