|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
$ B! N- e2 K) c
7 L2 u! m8 ^; X2 M5 n2 M火狐插件,用猴子
. J, _' N' z( X+ |$ X% J5 i6 a" A, l
var debug=false; , y3 L- i% [% T! o" B: ^4 `5 P
var CleanHideObj=new CleanHideClass();+ O. o2 l; k, ]+ y0 ?
/ W' B' l0 E G" V
function CleanHideClass() $ H. t4 O+ }( s# \( o
{
3 Y- w S% y: _. v/ v1 K 5 @) i8 k/ P0 q: r. `" O2 o1 m/ E! {
this.on=function(id,bMZ) v' y' b! s% H9 G8 v8 Z
{
3 l# g" m( b9 |7 E4 c
7 r! L# q, Y/ c n if(id == 0)$ ]8 A/ [ d6 Q
{
% Y0 X( t+ k7 q/ ]4 w var page=/* document.getElementById("content").contentDocument */document;
6 I, k1 U9 _" [) P7 }: @ this.RemoveHide(page,"span");
5 X' \9 P, g" S/ O i' N2 a1 U this.RemoveHide(page,"font");$ d% |$ _, a A
this.RemoveHide(page,"div");6 C" D! t9 i$ R7 c: d
this.RemoveHide(page,"p");
+ Q& C) d5 S# c7 o6 n0 e g# Q- i/ ~3 H4 q( q+ w
}
! o1 I# w6 v) g( D* }; u . _; |7 y. D, `- q' _
}9 l$ B/ j3 J8 D2 ~% v1 ?; ~
this.getobjstyle=function(node,prop)
7 F2 L7 Q9 ]. ~/ H0 t3 ]& f {: Z1 ~6 A/ J: x5 S
try" |- d' O' k5 I9 X1 k
{
|7 S& X9 t* \) V4 j return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
2 l3 G5 M) O/ v; @7 N }+ {, P% N S3 r1 p
catch(e)- r4 ?" ]6 u5 h( _: `, b
{' t' d3 z* p# N) z0 d) y
if(debug)1 t" [* r p0 B' ` K
{
0 {: ~" G8 @3 [* Q r alert(e.message);
% u+ ~, X; A+ e$ Q8 ~9 S. Z+ ] }8 U) b h3 g3 j
5 u! [3 ]7 T! n |' n3 B
return "200";
$ f/ Y- [$ L1 u8 b) z; l }; L \) ~# ^' B6 s! Z3 x
}0 P1 B& @8 X. U, J. A7 H9 D
- t; ]. n: Y3 c" H1 A n this.RemoveHide=function(page,objname)
$ I' t4 C1 P& v; U3 C( u6 G" @% @0 {* L {
/ g O: C- Q {$ ^: J try7 G z( a' [( n( M6 m# m1 U
{
' b$ Z8 r( I( G" b; O$ } var minValue=15;0 Z8 F3 J" L# b# i+ R, ~% O7 P& w: u
var objs=page.getElementsByTagName(objname);
6 |) U/ x6 i6 t$ r+ n
: E8 w1 E; H5 ]9 d" G' q+ j if(objs.length == 0)
# b# O/ O# t" i0 R( e3 Z* T {
2 o+ k5 V" \& d) Z if(debug)1 M0 v# l" o. Z' ^6 B
{9 `. f' [2 |$ d* H; c3 Z$ ~
alert("no object found!:"+objname);4 R! q" M# r- d9 K
}# O; j- | {( I' [2 f
}
$ p: u* X1 O4 ^6 T% [: N* X/ }; L else6 N5 D: a! o% X! z3 l' B& ~
{
5 m4 `* X, t5 e8 o8 @
# B0 p/ i& A5 z6 ^ for(var i=objs.length-1;i>=0;i--) : e! |% V: O9 _- N( C
{
% R$ c# b# G1 A, M- s8 j var node=objs.item(i);
2 [3 p! }* d' x) B6 s 5 |: {; x9 r: F0 w" S) L9 G
/ |1 W7 Y1 b1 K. k: r; f
if(this.getobjstyle(node,"display") == "none" ||
) @3 b* L- ^. @/ |! n2 |- e |( \ this.getobjstyle(node,"visibility") =="hidden" ||
9 u @" b3 c- w1 X/ d) y parseInt(this.getobjstyle(node,"font-size")) == 0)
% X) [: Q; m, M0 K {1 p! {$ m( r( ]2 @8 f6 A/ O. V
if(debug)& {0 \! o4 [ o+ b, y: @8 I& p4 n- n2 Y
{& ~+ ~9 f# u: D# `* H9 O
alert("remove invisiable!");
9 @( y% w" ^: a3 q" Q3 E }
" A) W B3 e5 v, S$ d; s node.parentNode.removeChild(node);1 u8 n3 G. {, z c/ a6 |' ?
1 K" E& D4 A0 P3 w/ v9 F" w1 s }; d+ Z; U2 I4 k+ G* v
else ( g3 U9 B4 B0 j4 T0 n: V
{
& B0 B4 u) J0 g if(node.parentNode) ' u0 v: i0 l2 b
{
& w# }" K6 A$ H6 O- p! D var orgNode=node;
* r; ^. k( N/ @7 I var orgColor=this.getobjstyle(orgNode,"color")2 b; T/ O. h1 v+ f
var orgRGB=getRGB(orgColor); - d% f' v: g( Z( Y
3 X; l* f+ v$ D4 I) l5 r var parentNode=node.parentNode2 }0 ]0 i0 p8 q8 |- o
var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 j6 m, C& g0 w; {4 O 5 z0 p6 k1 h* E, A/ w; }) l
var isLast=false;
% b" r h) b# `0 |% g% i4 B
. N! I/ @+ x$ _# J while(parentBgColor == "transparent")
5 O, }/ C8 c" r- z/ @ {
" `" |" b1 V; P0 m3 h% ~/ W9 I
0 ?9 ?" Q( Y( n" K: J
+ W& o! i8 l; A0 s& X6 G( Y: L if(parentNode.parentNode == null) I$ `% U4 w+ b- j% Z+ B# f
{
H6 s# z8 {% G& D, h& r1 \# s9 `# J) i isLast=true;
6 k3 k/ v; L' p, c" D& J; D break;
, ] b b4 v* | }
9 O; W' s+ d: E parentNode=parentNode.parentNode;
: g# z7 C* i+ w5 Y parentBgColor=this.getobjstyle(parentNode,"background-color");
# x( n/ r1 f2 U5 m6 c3 V/ R5 |% x$ r. F& o: F8 b
if(parentBgColor != "transparent") + Z; u6 T0 m$ k: V) n
{+ w, a4 N5 w- c0 g4 j6 j/ V3 V5 ?: P
break;
" ?' i# L0 j& ~) V5 H$ L }
5 n/ B( T t2 c! E- g) z }( W. [8 {: w3 b3 A0 x* @# o4 b, N
if(isLast) : C5 W3 y; _7 c
{
/ O3 ?& F+ w: ^ if(debug)/ N6 T8 k' w1 n4 \4 ~ e7 D3 g. c7 X
{; g% n. q! w( M
alert("last!!");
+ \5 v- p! c/ M, p! o }
) K3 H( W1 Y+ l; l$ B( m if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
* p! w* ]6 \8 V {2 h: J7 n$ N! \) a1 `
orgNode.parentNode.removeChild(orgNode);
: @' v, O" S# e6 [% g X }
# @+ Y# p. e) a. C9 t( h }
8 Q1 g0 _/ P6 c' r- H# s4 W Z else
3 S0 n$ ^3 W2 H. R {
7 I/ O d& z/ U: O1 t; d, U/ j if(debug)
b( y9 z* Q' e" E {
Z% X2 @$ U# R- F6 y alert("compare color and parent bgcolor!");0 g& u8 b( P4 w, L
}
" X2 H1 ]) n2 P# T/ l parentBgRGB=getRGB(parentBgColor);
) f; d \3 R1 J! y! X9 T if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))" ~$ D0 o. M1 x" j) @
{
( W- m; I% o( S orgNode.parentNode.removeChild(orgNode);
3 C9 C! n) }& e }! e5 ~! U. R5 x6 _' z$ E7 W6 R
}
1 u# {. c! r+ ?9 D) _6 K }
$ d0 v' [8 [3 o& B8 d& y, ` }# h: C% N8 g3 O3 k" H0 z
}/ g, w$ w$ M- M5 `3 N
}# ~8 p8 Z7 W, z
( _! x9 _5 t& o( q' Q 7 N4 o1 e" v% C/ n3 x
var itemFrames = page.getElementsByTagName("frame");
9 Y4 a3 X4 [8 ]' F+ } var itemiFrames = page.getElementsByTagName("iframe");2 z, |6 c0 S5 Q
/ p8 X6 q2 J6 L4 t
var frame, iframe;& a1 j, J3 A, P, T( M
if (itemFrames.length > 0)
k+ b. b0 [+ X4 U4 \ h {
( @( P/ W+ x N8 w for (var i = 0 ; i< itemFrames.length ; i++)
! E D' i, w/ b {' {( o; F/ T; ^; {( d
frame = itemFrames.contentDocument;
; m7 b% \5 u% m7 v this.RemoveHide(frame,objname);
3 T* {) {! r7 Z: H" c }' P! x6 z0 W3 a, g, S1 h6 Y
}3 U, w: d9 m3 h% j
if (itemiFrames.length > 0)- o- p$ N" T# m8 w" {# t
{# i' x& R! Q w% o; A0 H( b5 w+ X
for (var i = 0 ; i < itemiFrames.length ; i++) . S% }, X& Y5 j8 U
{& Q) R( {, d! H. B
iframe = itemiFrames.contentDocument;
& R! U- _% U9 M2 b# N6 v this.RemoveHide(iframe,objname); / x: S( n3 O3 V% Q' D+ J
}5 o& l) `5 @! |
}
h0 ?/ U0 ^7 b+ {! S5 u- l$ X }8 c# z3 I3 j* g! O# R* X- h
catch(e)/ G' v- \* n8 Q& R( N4 N9 L
{
$ Z, u; |0 r& Q- v& E9 C if(debug)( H1 t0 z3 ?! {
{% q7 w K, t! L$ m3 G4 Y# o; B% h
alert(e.message);+ \. b3 J6 |* c4 c/ g
}4 h& }# o$ C5 S2 ^6 v( H# m2 f
}( I- G6 \* k) \) y0 Z* u1 ?
}6 c1 G5 d+ C0 @ h; _( _
: e. ~/ R( B( d) A9 `" l}4 e1 U9 x% `, q7 S
0 M* |# Y0 _5 g
function getRGB(colorString)6 |" o# a$ I* p6 p5 `0 t' H
{# ~) U5 d R* _. e, {) @" k) A2 _
var RGB = new Array;) K7 p, K: s* Y% ]* G/ F
var tempSting=colorString.substring(4,colorString.length-1);6 r1 W. ]# E- E, [; e
var tempArray=tempSting.split(",");, w' i1 u5 s. H6 p, u' S
0 G+ O9 y; i1 S6 F- B& g1 O RGB[0]=parseInt(tempArray[0]);8 `( Y( t0 y5 p
RGB[1]=parseInt(tempArray[1]);1 L6 G7 W. z- L6 N) \( y+ x
RGB[2]=parseInt(tempArray[2]);( R& A* p8 K+ V- c' f1 c8 z
4 W- G( d ~' f6 L
return RGB;. J0 D1 n" m. E7 u
}4 M) s: [# D2 @" W8 V, c. g9 U8 O' e7 h
function keys(evt) 2 r% {) B4 K- u" D, a( v
{ & ~# J4 p: g+ K$ q9 ?
if(evt.ctrlKey && evt.keyCode=="81") 4 a$ U' T0 o0 f
{
h; G" n7 f5 d3 z CleanHideObj.on(0,1);) \3 L8 W f* Y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; B2 s5 l: c0 M+ j6 |1 t # z1 ]1 Z8 Z B, N7 w C
}
) f0 L$ `% v' S+ E" L4 R0 N- d% q3 f }
/ T- y. |( U% i# ?+ ]document.addEventListener('keydown', keys, false); 9 v3 l* l- L# N0 p1 V1 P
GM_registerMenuCommand ('Clean Hide',# {8 F/ v) U; N5 Z4 T) S# h
function(e){: b$ q2 Q- ~/ a: ]9 v4 n& L
CleanHideObj.on(0,1)
2 h. X# W) F6 z- ]alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");: m" [4 z0 `6 {: `4 J0 k
});
$ y1 d( S4 o7 L6 z+ o |
评分
-
查看全部评分
|