|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 - x( w) W$ `. X7 c. ^" ?
c% S8 y; ?" j7 b火狐插件,用猴子) `, ]+ U0 q( D( P }! t* ]
- k5 g8 m* y, Q& Z( O1 x
var debug=false; * l9 k: d3 Q4 b6 F" s7 P7 Q6 N
var CleanHideObj=new CleanHideClass();) E. P! [+ G6 L6 W# K
0 F6 v3 H: |3 D! \( I. d
function CleanHideClass() 7 C/ \3 ]+ Y$ @2 m3 u. G- s
{ ( e: e6 v: m2 Z) q+ w8 i
6 d& k2 M2 A* ^0 e+ E this.on=function(id,bMZ); e! j: {& \4 \$ S0 u1 p
{
/ K! [! O3 o: J8 j
) |7 b k ]6 g/ D, k* s if(id == 0)2 y: ~8 H/ h0 ?7 A: c0 a
{
~. c1 _+ K0 [+ s) y var page=/* document.getElementById("content").contentDocument */document;
- D, @) J5 ^8 k9 T" A this.RemoveHide(page,"span");
4 S6 ^$ V7 I- M; ?+ @- N this.RemoveHide(page,"font");+ a3 B' n# _) M* ]' J
this.RemoveHide(page,"div");1 T/ ~& F8 R8 `; |( X% T, G$ ?
this.RemoveHide(page,"p");! ^0 f, U2 s/ a o* h2 T; L9 `
" @% d7 y8 ~& d5 }; R( w' k
}9 b3 E- e8 f8 ?4 |
3 T H0 P% a2 z/ t. r" O& p
}# n! r7 ?# b' A Y
this.getobjstyle=function(node,prop)
3 W8 h( K1 i; M. S {
, h+ m" |5 `% D1 S try9 S! r" R: K; a* K
{, l0 F( R, c& \6 q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);8 g! s9 y+ S4 w7 Q2 Q
}
& L$ V, q: _7 X( ~. I catch(e)
: O' X7 i R4 }$ R# W- I1 z {
" s4 \2 B, w" L if(debug)( e" v( Y9 c( P5 e W
{4 }. z. [, M+ H s) w& t
alert(e.message);
' D/ V( F$ g* n* w }! O7 `0 l$ o8 X$ h( _( N e
6 w4 G8 V0 N4 z7 w$ m. X- q6 O return "200";
; v9 c0 ^% l+ I" t0 l) ?- V# V }
5 _- H) S4 v; h }
" Y" @/ w+ E7 n5 U
9 J5 S F7 S$ ?# e2 } this.RemoveHide=function(page,objname)8 M, X) K- T" L' v- M1 W# R! O
{" U5 q7 Z' T- U2 q
try
: |$ a7 T% f: q+ I8 b b2 Q {
6 z1 F ]: J% M+ A/ w; O6 P var minValue=15;
$ H! u, ~$ w4 {4 E) _/ ^$ t. o var objs=page.getElementsByTagName(objname);
) @9 u! F1 W& k7 l( K) y9 f3 H0 F7 k: A+ W# f* J& g6 e% b
if(objs.length == 0) ' m2 }/ D1 V `+ e& Z, W
{! V- V/ P0 W1 g* d
if(debug); P/ H( L% W2 b; [" o
{
0 \2 N& a! `& Y6 r: w alert("no object found!:"+objname);! \* ^* m7 w0 e0 `6 F7 m4 b ~
}
* F5 J% ]2 |: C8 G& q0 y8 l# K }* g% I' G+ g( B: q
else( H" a- R& j8 h" E: B$ x, }- u
{
' v% r0 C% W8 N& b( x
1 y5 Z8 t% G3 Z for(var i=objs.length-1;i>=0;i--) 2 n% G( C& \8 _% H6 l, S% i
{
7 P: r( M' D/ T% _$ e; { var node=objs.item(i); + z8 o5 k: c! ?# y4 M
# ?$ K3 F! |' c7 s, R. \
; }8 N# m5 @! H/ d0 B$ n% C if(this.getobjstyle(node,"display") == "none" ||. S: G/ B6 H4 p7 M0 B3 P
this.getobjstyle(node,"visibility") =="hidden" ||
7 V* w4 F0 {4 n6 P parseInt(this.getobjstyle(node,"font-size")) == 0) : N" F( F5 b) N* S6 [2 g3 [: i+ q
{# {+ d! ~* z j4 Z* j% S7 E
if(debug)# }5 U3 A* s# { Z+ g6 R' Z; A
{4 S- Y6 [- X* B5 c& M
alert("remove invisiable!");) Y' G. @! X* [+ T% E% P z! w( j5 B
}0 `4 K2 p+ F# @3 R
node.parentNode.removeChild(node);
8 S. F' R! Z4 O0 z; i- y3 ~
; R+ `$ b/ |7 c$ S: K. e2 R }
0 N" i! a; J2 H+ k else $ ]6 G) k( A, x/ Q$ l
{9 p% K0 o" f3 Q8 E0 |6 I
if(node.parentNode)
7 j5 }; O$ l7 k6 U" v {% j4 y8 d) u d8 h0 F
var orgNode=node;
/ g( G! d8 @* V) v- A var orgColor=this.getobjstyle(orgNode,"color")5 E0 ^9 B0 s$ \& a2 N( w
var orgRGB=getRGB(orgColor);
2 b4 i0 g- D3 i - m, m9 e# Z& C1 y
var parentNode=node.parentNode, d! T4 r1 H! D1 ?% D7 N1 x
var parentBgColor=this.getobjstyle(parentNode,"background-color");9 \; _* N& R) X. d6 n, n
2 B1 e2 G- `: d1 T8 t var isLast=false;' p1 D `! P# D/ ^" B% C* l
! h; t& q: M% {% c1 n$ i while(parentBgColor == "transparent") & _3 b( V g( W: I; @
{
* T. U z2 \; w, a : w+ u" Y$ f; Y7 M+ L, ]+ t" }. x
5 E/ T! f( V6 ]8 s2 X" t1 [! L if(parentNode.parentNode == null)
3 T6 E& @! |: d* L r) W {
8 d) v, U- Y* y' U4 F isLast=true;2 }/ P. ~- {+ S6 h; n% y l
break;
0 u4 q$ L1 I3 V- E! g6 m9 A }$ k& ~7 h F/ K& {
parentNode=parentNode.parentNode;- G& p+ X6 N3 L! A
parentBgColor=this.getobjstyle(parentNode,"background-color");0 P8 b7 {- A4 m& t2 n, B% f
H* i+ r% G; b+ J$ B
if(parentBgColor != "transparent")
2 H7 t* Q# @# [0 G$ v1 N/ i {
( A# t7 h$ U% ^1 y! p1 |" Y: m break; e! A5 j5 c% N5 U1 i! s
}# Y& y( h1 d% O9 u
}
3 D5 H' }/ O F6 c, Q% ~ if(isLast) + s, `" d0 N; E# C6 Z' O
{7 m" H, x) B; R- s' _# z
if(debug)
' w, u. {3 j8 m2 O5 z {
3 ^- ]- z( Z m" K* I alert("last!!");
$ F7 U) J% ?6 \- m }( K$ U1 h3 E- T3 Q
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ Q# i9 r9 \! k5 l& M {
1 A! O& j7 ^- ~. r! v Y orgNode.parentNode.removeChild(orgNode); + H, Z; `( M6 E+ ^2 H+ U4 ?
}7 ~6 c6 a* s1 A8 Y1 M N' M: J
}
) V% L/ ^4 d) F% n! |) R9 m else! h7 a& n |, r' ^0 F4 _
{
, Z, o& m0 l( _) h if(debug)
6 H$ s8 g- ^! r. a {: G8 ]( j3 g7 T, r2 b6 w7 S S
alert("compare color and parent bgcolor!");
. W1 k4 [6 W: Y: w }
( |+ `( C& }+ |% y' T parentBgRGB=getRGB(parentBgColor);! \+ p+ h* l. T( d+ W- h
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))! W. T8 t& z$ p
{
6 L' C# I$ @( {3 |; I* B, f t orgNode.parentNode.removeChild(orgNode);
1 ]$ O* y# i# C' } s }9 T m' X. H0 X3 m+ k8 p
}
( F o1 N" }! y; m7 E }
6 y3 E) d$ L' p2 f0 l }/ J4 \* M1 I( w8 M( R4 Q, e/ c5 D
}# j+ F. V. s9 s, D1 y* p
}
& |; z/ e# X0 q0 T; A) A ; N$ y) X F: F
; n" o& [ M# O' g# l4 A7 } var itemFrames = page.getElementsByTagName("frame");* i' n! Y% i! @; u
var itemiFrames = page.getElementsByTagName("iframe");
0 n% H( E( H, d! E/ L" R( {' t- M
+ W% n/ ]+ T' y; X/ n var frame, iframe;5 B6 a5 M' D6 m7 {4 f4 @ R5 t9 d
if (itemFrames.length > 0)
8 d: J; \2 p* V8 J7 d' _ {) G2 j/ q% |& k' p# W2 M: y
for (var i = 0 ; i< itemFrames.length ; i++) # r$ L! A' |* p W7 n& I7 o; L3 N2 a
{
, Q- b( G( v& z( A frame = itemFrames.contentDocument;' b( _0 h" K7 A
this.RemoveHide(frame,objname);
& r$ Q W; |+ R. o( G) V }
( R9 p) {0 U! N( D$ k& k. |) u }. T# B8 F0 b, X$ J
if (itemiFrames.length > 0)" R# D2 B0 z. m8 g" n- U) S
{1 b7 ^" C3 D* }, b% m! w" I
for (var i = 0 ; i < itemiFrames.length ; i++) ) J& H+ J' K! A# z9 \" q' a: I5 Q
{! w2 ~: |5 V3 t0 G6 D. G; q& G E
iframe = itemiFrames.contentDocument;/ s( w! c9 j- z* u Q r! X0 K
this.RemoveHide(iframe,objname);
& O0 F+ Y1 V% r" h5 ~% K# j }( m. A6 ]1 e S
}
1 B+ v1 l8 o( V1 N6 g' K/ B }
) f& V4 Y- U2 L, R* L catch(e) ^8 ]& W' J! s' y% G
{4 B1 v9 h- b: Q3 }& v
if(debug)
4 H* ]& H9 ^6 o* @; A N1 Z {- Q; d# j6 t% h$ n
alert(e.message);
7 s5 f+ j: ?; R7 u5 O- ? g3 X0 f }
" k2 C% e1 o) G4 h+ O* T3 g, p5 A }$ o" f! X; z: z" U+ R$ m1 h
}' K: x4 T( h3 D7 J/ O. h( }
2 G/ g q: p' D J& w& w5 v0 e0 g1 a
}
0 x ^0 [5 W& }$ a* r" s& l2 R- `5 @
function getRGB(colorString)
) y) d( a# `5 M8 {6 w0 b{6 p3 F1 H1 j B# c
var RGB = new Array;% \# R4 P/ x! n/ @; T4 w$ ]
var tempSting=colorString.substring(4,colorString.length-1);6 M, M* v2 P( x8 k
var tempArray=tempSting.split(",");
) }: [3 R* g+ T$ x0 ~2 E( R/ O
% j" e- _" s+ L% {2 s+ k RGB[0]=parseInt(tempArray[0]);
9 W+ x( M3 a; {5 \: v RGB[1]=parseInt(tempArray[1]);
/ v6 v& n7 H$ Z' D: g0 U RGB[2]=parseInt(tempArray[2]);$ c3 ^ d( Z* S5 `' j
# {$ x1 e3 O/ p: i return RGB;
* K* J& q7 d4 ~9 D' C/ ~* v5 Y}
# d) f6 }, k0 l4 T* j, Yfunction keys(evt)
) }6 I0 {/ [- e3 h! b { 9 t: t- i' b* G) C
if(evt.ctrlKey && evt.keyCode=="81") . T+ X- B5 v( I9 E3 e7 x/ }/ G
{ $ X" c; Y" ]7 p4 C1 a* }" _
CleanHideObj.on(0,1);2 y# t% G0 v; O8 Y, x$ ~$ e6 f$ P
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 k+ A% M" q6 I" ]4 Q9 O5 S7 ~6 ] _ W4 m- Y0 |% p6 B
}
: _) t* K. n, c* {% _2 B }
& Q' k) i E9 w6 M, T# u8 }; kdocument.addEventListener('keydown', keys, false); # l' i8 w. g7 n" x2 _/ _; T
GM_registerMenuCommand ('Clean Hide',
4 Q, I, l1 L3 g! Zfunction(e){
, V; z0 n f% u/ G4 S5 VCleanHideObj.on(0,1)5 K1 H; G/ T+ {: R: f: F/ i! {
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, y& v5 t' Q. o- g4 |
});
! K7 ^- f/ T* G |
评分
-
查看全部评分
|