|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ) Q8 w) F6 A; B
1 L7 i: h: `$ ]! W: P3 b火狐插件,用猴子
8 H: u1 ?; b1 Z- K
3 h3 f, E7 N7 e# zvar debug=false;
- d" S, Q3 c9 x: u9 @6 Y6 |var CleanHideObj=new CleanHideClass();
+ j% s X. q0 U( |2 x- O$ l2 F' ~& y" A: V% U2 R D
function CleanHideClass()
& u6 Z2 a1 W0 o0 O: k6 r{
7 t% f/ |2 b0 h1 Q $ j6 i9 V8 B# J4 M$ K4 r# I
this.on=function(id,bMZ)4 T. B' P! ]4 \& Y) v& x
{ y G9 |3 ?( }
% W I0 b4 j' b# D' a7 _! h- d
if(id == 0)
3 n1 l4 ]( p# A6 a; M! E {
7 G G, C- G- _+ d var page=/* document.getElementById("content").contentDocument */document;
. X$ {+ v) W8 O9 C: }+ A, b this.RemoveHide(page,"span");
% a0 Q, M# C* Y3 @1 G" ]! k; y* X this.RemoveHide(page,"font");" U- Z& n* Y' o# q
this.RemoveHide(page,"div");
8 O- s4 W( y4 m4 p; q1 X; O, X this.RemoveHide(page,"p");
0 B) Q6 k1 x( r% s5 A 1 E7 G3 u' D7 w. Z; @ R
}
; Z) H" \; J# g& ]7 D5 ] 2 S7 Z$ W; ^, r' e/ s5 m2 V) G7 |
}' ^& |1 f6 s- w' r3 I3 j' U
this.getobjstyle=function(node,prop)7 c/ G4 r* K1 Q5 B6 K3 x1 v) m
{ R* \: f* O: m! P7 i$ b5 Y
try( X/ M# B0 Z5 y* A
{
' o; K! {9 c1 A/ }* i% J% C3 ] return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. O- |0 E) }/ R8 B2 U0 u& p
}& d( L6 ^: a7 s0 D- f7 M
catch(e)
1 L/ U' |# r6 _1 j- s$ g {
- x* \- H& a; P, B if(debug)
9 R. }& a& j, y/ M7 | {
! A3 `2 X* l3 e3 h alert(e.message);
4 f6 K" o! |+ h, t+ ]9 Z* I } O; @1 p b/ j, Z
U5 L, M+ A% a0 f
return "200";1 }4 z: M6 |5 b, Q% ^
}( O# b" s1 D4 U5 C5 h& M. k; t- |$ A
}
; W3 G/ G2 ]) g& e5 u2 p/ p
9 w0 |7 I4 a( J- q- a* @ this.RemoveHide=function(page,objname)
& ]3 P3 m- [/ v3 s5 v# j {! X" ^ Z m2 d, W/ N
try, u; g* D) ^0 m
{
/ ^0 Y! h }! u; Z9 ~ var minValue=15;
( R7 X6 @$ I4 D0 L/ A! o0 @/ m% U var objs=page.getElementsByTagName(objname);
3 G0 ~3 P7 l0 |$ V: l' W3 P+ ^* B% r0 |* m
if(objs.length == 0)
7 T7 B7 i4 s1 z, y {
$ B: L; S5 e8 `3 I8 @2 W if(debug)
+ o; `+ R- m3 w1 F3 v. `& D {
+ h4 A$ C: L/ ?& P5 v0 V U7 ?0 {- b alert("no object found!:"+objname);
# B! G G7 e" Z; m! W7 G9 {% z) P }1 }+ \8 |( m& y9 u
}
t4 m! m# @4 i9 j else
% k {7 \! H1 c5 V6 O% n. \5 f C/ \ {
. j7 u9 N& z1 j+ l
/ p5 K$ O8 ?6 A( J for(var i=objs.length-1;i>=0;i--) % m* f d' v) I* k
{. B* U, X7 }, a, S( K+ n4 C6 E
var node=objs.item(i);
( [1 K2 U) A+ X. A5 @* o
" {9 z# v6 ]" Y6 f0 p' ?
& t1 D/ c: Z: R- M% i" r2 D& Q if(this.getobjstyle(node,"display") == "none" ||
/ I9 ~- U0 g$ U this.getobjstyle(node,"visibility") =="hidden" ||
# S) _2 s5 R- ?' K$ [ i parseInt(this.getobjstyle(node,"font-size")) == 0)
* z- G7 d9 U3 b9 T {
- o: B* f9 v h. m2 T0 z' @" Y if(debug)
M- _0 m( L- U' }# U' J% l4 T {+ j) q3 }1 X6 q
alert("remove invisiable!");% m p% o5 w. u" w
}9 q' S* J& S# k5 n
node.parentNode.removeChild(node);
) }' w! d6 ^7 a- V
# l6 ]$ z7 C+ r+ Z4 ~ }# [( p6 i; J! p
else 2 J+ H2 p% s1 x$ {, c" x9 V- p
{1 |) H. H6 ]7 u4 U. u3 B
if(node.parentNode)
4 F- g$ p/ c5 q5 S {
9 d z% j# L+ b; i var orgNode=node;8 P7 p6 [& J& c, y# }6 v! w
var orgColor=this.getobjstyle(orgNode,"color")4 w" k8 w3 x/ c p+ z* O9 d0 e
var orgRGB=getRGB(orgColor);
9 t; l! n- S# ^) ^* z& ^, v+ p : T' Q1 r+ }& y# K1 `: o' _4 |
var parentNode=node.parentNode
7 }- P' k1 Z5 v- `. i- n- e; _ var parentBgColor=this.getobjstyle(parentNode,"background-color");2 q O [6 s: x1 \/ y" t) R& |
. i7 s9 I" }% ~ C2 m: F5 A
var isLast=false;2 q1 g- y3 E W% g& o
, q7 P! k0 t1 o9 R# F! T while(parentBgColor == "transparent")
0 O# U% V4 }3 h1 h {
4 D# }+ d+ _4 Q' |0 @3 _ ! j! ^" R$ [& S( Y" ~0 @/ t( n# g
9 w& ] I3 \- V$ ]
if(parentNode.parentNode == null)
" d6 T- R6 {+ ?6 X0 Z* {3 G { w* F" q" h# L" s8 T. R
isLast=true;+ q* q$ H3 E. q' {$ }5 i
break;, Z2 B Q& i T% q. p( K, Q
}1 a8 G+ g( b# F
parentNode=parentNode.parentNode;4 M- {# ]3 _! n/ c$ o
parentBgColor=this.getobjstyle(parentNode,"background-color");& c( D$ W- w5 ^: G4 o7 Y! g2 ]
! z1 I6 O% d2 G) P+ |: ? if(parentBgColor != "transparent") - `3 E8 R2 e* r" |4 p
{
& E# G# F6 f7 ~* C6 g# a! ], Z/ L break;
) \4 f$ _, [2 G. x3 L }
$ t$ C% b" i* a/ N }
- ]: p/ M2 }: a8 Z9 k if(isLast) 6 M( d) P2 Q/ S; W, F, C( q" a
{& k7 P% I' b/ k5 l
if(debug)
8 C* S4 H0 u4 Y {" h8 H2 o: o+ ^, M6 D
alert("last!!");
; q0 R! y6 u7 r$ @; Q }9 p I* i/ T! A/ j+ r
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 u7 g" B* q" D; G$ r& x {# V; C. f: O; G
orgNode.parentNode.removeChild(orgNode); - {& s3 v s, k J
}
; O: `# \0 d j: g) O3 n }
/ ?" C) n( F2 z8 i else
# g; R- v8 _( p7 Z$ ^ {8 V: O' K6 G" p7 ~. ?9 ?5 T3 g" \
if(debug)
8 Z! c! Q6 I8 z( D5 o; \$ o3 G4 o, P {" i1 w& T" J* _- V. [
alert("compare color and parent bgcolor!");0 `( x3 J4 a* y' u
}' V+ R- ~) q2 B8 V J8 S5 S
parentBgRGB=getRGB(parentBgColor);
- J& Z7 Y# E' S# D4 m; Z" ` if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))/ }5 t$ R- [ {- g: ]* O
{
! F- S) E: _* L7 [5 \ orgNode.parentNode.removeChild(orgNode);
4 S! \4 H4 U6 P! Y/ l) A }6 x, F/ \* h% ]! n' e8 e) m
}$ A* {3 A, j& ^
}
' a4 b# U9 R; [4 Z) b }
9 U2 T+ o2 G' w- E5 ]7 k3 C }
$ o) ^2 b& F$ [5 F6 R$ H* d }
8 Q# I' g! l- d, F" ~0 B 4 v( X; r' G" p' a
2 E8 C0 r+ e: |8 e/ u
var itemFrames = page.getElementsByTagName("frame");+ o1 s Q7 y) b4 V% h7 m: Y4 v
var itemiFrames = page.getElementsByTagName("iframe");; X' D2 g ]$ o6 z2 C9 U* o5 f
5 j$ O" E+ {& R2 V var frame, iframe;
/ i# K) L6 }3 ~7 N* j7 v, `1 a4 i if (itemFrames.length > 0)
/ ?* c* J |' p0 ~4 K! x {' y9 n) [2 y: |" E+ c- q g7 Z Z
for (var i = 0 ; i< itemFrames.length ; i++)
) Z, Y% {( ?: h7 g8 d$ V1 y& ~ {
) {- U1 Q |. J- f, q frame = itemFrames.contentDocument;' r" U/ M# p0 ~# j6 [* @
this.RemoveHide(frame,objname);
. G6 U! P; |1 s0 v6 W }( g9 A T/ a* y; p$ }! V
}
4 z0 k+ F: T9 X) x( [( w if (itemiFrames.length > 0)* U: B0 V# F' u
{
8 k& H$ b# u2 ]8 u/ J2 \' ]: ^ for (var i = 0 ; i < itemiFrames.length ; i++)
2 W( b: {2 c, c8 E; l: s {
6 T5 B0 a, s: f9 U2 z iframe = itemiFrames.contentDocument;
! e( e) e- b( O2 G5 q( L this.RemoveHide(iframe,objname); 5 a8 J X' N# I+ {! P
}
H- I8 r: E- B, E0 \$ d# r/ j2 H }+ S' L. f; _/ P! N
}
# ?# L. O/ u1 l0 J catch(e)
9 P. m3 g/ B2 _4 Y* _, U ~ {- {. A0 s: z( w9 O( S% b
if(debug)
7 j. ~5 L( v. K {
' [$ \. a) u" B) f, R% E alert(e.message);
9 O( F9 q2 B+ T2 f# r }
) z# X! q$ A+ g. ? }1 O8 j8 x4 h: \; V! H5 x' \' b1 A
}1 M" ?, K* x! L0 R; G% v& o
8 e' ^. l' A, r) z, p R
}
( l- @* r. [! j# D( l& z8 R0 \
. U5 r5 [+ l$ w0 M( _5 b0 m3 o9 Wfunction getRGB(colorString). I! ~! U$ m4 e- w. X! s" ]
{
4 ^% j3 v1 ]5 g, G6 ~7 ]7 _+ _ var RGB = new Array;- r* S: p3 D; \2 v3 W: c M
var tempSting=colorString.substring(4,colorString.length-1);0 ~( g4 c. u$ ~
var tempArray=tempSting.split(",");2 c7 [. i5 G4 D
0 g+ o. a, \, U- i/ t9 \+ r. ^ RGB[0]=parseInt(tempArray[0]);
) D* y' Q" q6 K% h# e1 z$ O* M% ^ RGB[1]=parseInt(tempArray[1]);
2 c- [" I/ L% u$ Q RGB[2]=parseInt(tempArray[2]);$ U' [" F* C# j) h [2 W( v
3 ?' F& m7 ~( i1 z3 M+ `* d" e
return RGB;
1 L3 o9 |) j0 i J- p}) ]+ R# L$ ?" ^4 \8 J
function keys(evt) 8 m b! h) c; Z: t9 |5 y
{ $ z* N$ n+ B! f/ ^9 I! T3 e
if(evt.ctrlKey && evt.keyCode=="81") $ `4 T1 w- o! i" @, f
{
$ A4 r6 R5 L! ~- s6 h) H8 J# o CleanHideObj.on(0,1);, |; F' I0 a+ h7 }
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ) H; O @$ x3 v$ w* ~& f
- F: X( }+ b1 D
}
% Y% Q' W3 C2 i- M4 W } 5 A& ~0 M0 A: i: F. W
document.addEventListener('keydown', keys, false); 3 n: c: k2 D* X4 H7 {8 M0 a
GM_registerMenuCommand ('Clean Hide',' B$ f' } B( M- }, @" @
function(e){
% Y7 }* J7 b! i/ _* y; Q7 \8 y) YCleanHideObj.on(0,1)' H7 G$ ~0 _# I8 ^
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; l6 `8 f5 }; Z6 y});. w7 }9 y* \/ @3 Y0 F6 Y
|
评分
-
查看全部评分
|