|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
3 V: \- x# \& F7 r8 `2 E9 v1 A2 R- [
火狐插件,用猴子
3 n/ b* N5 o" b- W# I0 X( R
$ t/ f$ P& e! s, x* w/ _+ hvar debug=false;
. m& w$ e% G- U- svar CleanHideObj=new CleanHideClass();
! G1 H9 b4 ~: o& r/ Q4 e" v+ R+ k9 ^# j6 S3 t1 Y' Q
function CleanHideClass()
* }5 E" v" c; N7 r1 X{
1 d2 r1 t. g* B0 v3 F3 p
. m% e* R s( n8 n# h# a3 H this.on=function(id,bMZ)) }* v7 j- B* E% x4 ^8 ]+ t( b
{
$ X j' I9 p$ l1 W/ l& \' g ) f3 e- E7 S% h1 E$ _' a9 S
if(id == 0)
4 |6 p* t" h; K( F8 E- H {* c9 G7 k. j7 N, K
var page=/* document.getElementById("content").contentDocument */document;
+ l' Y. e( v4 q" G E9 T l3 ^$ y2 Q this.RemoveHide(page,"span");$ b: g% C0 D& m+ |/ I; o9 c
this.RemoveHide(page,"font");; Q7 b% \8 y8 w1 i j; [9 B, p2 S
this.RemoveHide(page,"div");7 a& o* \( T" ~) S
this.RemoveHide(page,"p");
3 ~/ S8 {: Q/ k+ @. D/ M$ _2 b ; R% f/ t. h! G! m6 T5 j6 o0 D/ r
}. Z! M1 e3 O: p A1 X
- U0 @. V3 r2 V9 L# j' Q }! l7 W3 J+ a9 A0 o [5 P( t
this.getobjstyle=function(node,prop)
! E0 q. W1 i K8 O. b. i { t! n% y/ R/ ^1 W8 U- s4 w( x% v; n
try2 E& l# Z* _ @5 ~5 N6 Y
{
5 Z, Q& D6 h, Y V3 ^ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);! v7 P( i( c3 s" o
}
9 w& a2 e. G+ U$ r9 I catch(e)
% T+ p9 [9 b1 J8 i' Z4 M* v {
% n+ l6 E I, c$ r2 H- d9 e2 q* Y if(debug)6 K3 J ^- H# J# ]5 {
{
$ k6 Q1 N% S. T4 g! O. ? alert(e.message);
2 a- u5 U" P. I! | }
* w: o( v8 x# E4 L" k
{0 ?) b& e: F return "200";
& b* Q( L8 D L4 r3 ~ }
$ X& B3 E6 g5 S# u9 A1 ?2 Y. o }$ X) T( _4 N* f$ y1 b
3 ~: R5 Y+ C$ O8 \: N0 I1 ` this.RemoveHide=function(page,objname)# R' M" O! ]7 A3 i, Z* C
{/ s) y& v* n3 s) b7 V: d
try" |! ~3 K3 u* c9 C; j- v
{
- j5 \+ J( V* t: R# z var minValue=15;
( ^+ R: B- O8 v- p6 n; Y var objs=page.getElementsByTagName(objname); 7 T5 o- n( L8 N
* K3 Q) [5 [& v7 W2 K" ?
if(objs.length == 0) 5 \) q: J0 B( @& J5 H1 ^2 O
{
1 \6 X/ B* Y+ _+ F! H ]/ G1 g if(debug). m, s8 ?& x3 V
{; _2 v5 T' f/ S
alert("no object found!:"+objname);
' m) i7 C5 J5 | }; u+ p6 F% I" o4 L/ d+ }. Z0 k
}$ x( B8 ~7 W( K. H) K$ ]8 J0 I
else! o0 }* m; F; a
{
1 R1 |6 U% w% ` $ k% |3 y0 A9 \# X! g
for(var i=objs.length-1;i>=0;i--) 2 }: o) L; N, G. |" S! G1 w
{
6 r( J) B6 H( f( R: M# j8 G' d. Q var node=objs.item(i); 7 z. x; E& m8 |& a
; g8 q$ O5 p z. h; R
! h0 v- `8 L" R2 p( ^' v$ V if(this.getobjstyle(node,"display") == "none" ||
2 F0 V- P" B( l& ^8 r* R* S+ a this.getobjstyle(node,"visibility") =="hidden" ||
' x1 `# L7 g/ Z0 t5 A- ] parseInt(this.getobjstyle(node,"font-size")) == 0)
, y, p5 \3 b6 W8 B {8 I2 K1 I# r3 u! Q' a
if(debug)1 K4 V! P7 D9 q: L5 K
{9 e+ R6 ] `. k( I G/ A
alert("remove invisiable!");( C% X9 d: H% y
}
/ [/ c5 }' k5 c* U" A node.parentNode.removeChild(node);
- s2 e! U5 X- o# I3 ]" d& ]3 K! Z0 L % T. I# o* S' M( \: ?8 Q2 Q! t6 m
}
! M5 l# r( K7 v6 M6 | else
, E3 `5 c. v8 g {
2 ^& H/ T/ b' N k& Q) P if(node.parentNode)
" U( t7 {4 ^; ~( Q4 F4 c, N {
_6 f3 M9 p% |$ @% P8 ~9 _ var orgNode=node;
% J' b# ^4 L0 T# y3 o* b, m var orgColor=this.getobjstyle(orgNode,"color")7 Y( ~6 H/ a: I8 k1 ~ n) l% R
var orgRGB=getRGB(orgColor); 7 i' f6 J, R+ w% u6 Y4 I3 C
" U' e7 P/ Q9 F+ v
var parentNode=node.parentNode
[% T; |8 t5 y; }$ N( g' Q8 t var parentBgColor=this.getobjstyle(parentNode,"background-color");$ p- P" Y% D0 J9 J; \3 l
2 a) i+ _. C8 t9 |4 ~2 V/ X% c+ d var isLast=false;! O0 l1 X9 ~$ ~+ l, L7 x! ]
2 d, p: Z5 [1 ?6 ^ while(parentBgColor == "transparent") 2 o. E& ^& b# D c$ h" I
{3 r& g1 X0 ]" h/ H3 X
; |9 p# [) q- c4 \2 z! \ |& I
: O! L/ x1 L8 i5 A8 F) p if(parentNode.parentNode == null)0 v2 S1 R9 Z& v% P5 V ]; m
{2 t y' F" ]4 d
isLast=true;8 x! A, R. t7 }& u5 j; Z5 c2 }
break;
% M \7 ^) {3 c( j; |0 E, G }3 x# f- [% b" l( t6 y% t% W# Q6 O
parentNode=parentNode.parentNode;
0 |4 V( g+ r. [: d+ Q# q3 v parentBgColor=this.getobjstyle(parentNode,"background-color");' ^3 Y5 t3 L& y: B8 u) i5 b
4 b R4 Q" U' A
if(parentBgColor != "transparent") ' U- u& C3 P, Z, K
{: Z3 [3 h t$ W+ _; |
break;
& j/ k- ~! R5 S5 E' q8 i3 x }
8 m8 f/ p! o _ }
- |: h: B2 h+ p) A if(isLast) 9 R. F: ]! d" I1 z' C
{
/ b" @- j0 | }. h6 n if(debug)3 _* h: X( m" K. t& v; ~) I
{
9 w4 T: u9 X2 B$ ~$ H) I alert("last!!");% t) P E P; z8 T, D4 x
}( y5 |6 P8 p, a
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
7 L6 I- `! L$ g2 D+ u( Q {* ?+ l6 s" n" w. ^ `0 b# \ R9 n
orgNode.parentNode.removeChild(orgNode); ; s2 v' a7 b/ @- P
}
8 M2 S" W2 F! q$ N# ^ }
% L }2 x, t& s% Y else
0 k% {& \9 o8 h7 Z6 G; `8 E9 Q {0 v6 O7 J* n, {# F8 ] g
if(debug)
6 ?) N' X& c. g8 V$ _6 t+ Q4 Q {( A; Q5 J: ?* \# z2 Z& {$ L
alert("compare color and parent bgcolor!");
9 Y+ p \* s) G* p! a' C: d' b }
9 x9 u2 C# f. e+ o x9 g parentBgRGB=getRGB(parentBgColor);$ W$ p$ O. p( w8 t6 {3 m6 [0 ^
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))2 f# y$ g/ W `7 o& `$ `# L8 @# d
{
/ c! [9 |& J. u0 a, d U2 L orgNode.parentNode.removeChild(orgNode); 1 z$ }* ?. }8 r s k3 G, l1 v
}' t+ `! l) b+ t0 V
}$ H- O; a% C# J0 @
}: Z B6 H. Q6 v! Y
}
4 w( q) S5 {1 c4 ~, d }
& U: Q! n# x& W, ~2 t$ B9 W+ \ }
6 C. E, E" m) C6 z
* U8 L8 c% l9 g/ n 7 }4 c" V+ f- g& d8 L' h; ?
var itemFrames = page.getElementsByTagName("frame");
2 k# p# `7 Q6 l, D) N9 j var itemiFrames = page.getElementsByTagName("iframe");: y* {2 A* d$ V5 O# M
4 U: N# Q' V5 S& n
var frame, iframe;
/ g+ [' u8 C5 l% b+ A% ^1 n; u if (itemFrames.length > 0)5 M3 a" B: R; A: i3 r& T% z
{' S: L' Z: ]9 a. F9 `- D
for (var i = 0 ; i< itemFrames.length ; i++)
, D' T- }, C3 l2 o {
4 }8 B0 Y* S) ?4 M) D frame = itemFrames.contentDocument;, g5 N, X8 N1 [* H$ J* V
this.RemoveHide(frame,objname); ) G# d2 I9 j3 X0 Y" V( ~3 c
} x1 U# W; x8 o: Q/ j
}
, s3 J8 y" o+ r if (itemiFrames.length > 0)$ L3 Q# l% T; N
{
4 u3 B. Z9 D+ J! p; G; A% }" \, U for (var i = 0 ; i < itemiFrames.length ; i++) 1 H! u6 r' y3 ?7 S
{: j" l: q" ^6 ^% X4 i Z( t- v
iframe = itemiFrames.contentDocument;& W& \; N q$ b% y+ ?
this.RemoveHide(iframe,objname);
2 G u4 c( F( Y1 g2 v$ I5 H( w }) z2 H" s9 Y! L
}
, D. Q& M6 E6 X8 U/ y }
# G4 E# r# I- e6 h catch(e)
/ [6 J9 G1 J8 f" r' ^ {
# C2 P/ O2 ~: X4 t5 X+ }9 y P if(debug)" O7 N# E1 J' r* S! F+ b
{
8 l. e' ]8 ]% i, _% k( p3 ~ alert(e.message);
5 e8 @/ L& P9 I }
2 F* G- r" P. n- g- D+ n }4 V5 [) z" R1 }" ]9 `% |- c; h
}9 m* p5 l: X5 `, F( H% o8 I0 D
9 g9 M" e: j& I# ^6 U6 e6 p! X}
7 f% H& f. K# J# @/ O2 ]
, K+ p3 n# ~8 M4 ofunction getRGB(colorString)
2 h! |" N! u" S- @7 K, T{% F& X6 u8 ?- [2 B( Y# h
var RGB = new Array;; E8 ^3 y+ O" c: n& L& l) @
var tempSting=colorString.substring(4,colorString.length-1);
H+ N# O5 F* I7 h5 K0 {0 K+ g var tempArray=tempSting.split(",");
! Y( @# O# a! f$ p6 f& R; a$ H5 i4 R' g9 f: V% V
RGB[0]=parseInt(tempArray[0]);
( _2 g# `! S+ _ RGB[1]=parseInt(tempArray[1]);% i0 D7 M* s4 K( L3 n' p
RGB[2]=parseInt(tempArray[2]);) d2 }' A3 {$ |$ R* Z6 U- z4 m
1 {& r+ X( v, F return RGB; y! _0 Z, y, |6 s6 ^1 P( k
}
# g6 J9 l4 G' D. M" P8 Gfunction keys(evt) + d* w! m- N+ T5 Z K8 E/ S
{
# y4 u: b- N, ^. ~. n5 _# L( @ if(evt.ctrlKey && evt.keyCode=="81") , d/ C" W7 \0 T7 w3 S
{
# x* Y) a% Y' p& y6 y( G CleanHideObj.on(0,1);8 t5 f' u; b1 Y T8 A$ j
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ! _7 ?, e, k! r3 q
6 W& `, f$ m/ i2 L/ Y2 Z }
) W$ ^; r% O( ?$ ]- g% E X }
+ s# G2 _- n- [9 vdocument.addEventListener('keydown', keys, false); ( J- X( K( j0 p v# d
GM_registerMenuCommand ('Clean Hide',
. M8 }) } Y0 H7 [2 C( }function(e){# i% @4 Q8 N0 I# a! u& A9 v
CleanHideObj.on(0,1)* O/ a; M( P! \- \
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");7 {; C4 \) R! z% P, b7 [8 {
});
6 T6 ^4 ~; j9 u" `/ u7 m$ G6 r |
评分
-
查看全部评分
|