|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 & {) o( H7 i1 y! P! X/ D9 X
# s% [+ J$ f! M9 t0 z9 h
火狐插件,用猴子% ]5 q) |) P3 Q: G. x p
' y7 R( z9 u& h7 U* U% Wvar debug=false; . q7 G6 o- H: W" G
var CleanHideObj=new CleanHideClass();
: {* G( y. u! m4 e* F4 @3 H2 x" ?+ {9 d* l, \, O$ l4 j# U- N
function CleanHideClass()
1 ]6 B* [# m' m- V7 H4 \4 f) B{
; h, \# p9 W- H* x5 M; q $ t) {6 J, p( m7 m0 F' |, u( \ A
this.on=function(id,bMZ)8 T& u- K/ b: o' X& x5 F
{) ^( p) F: R+ t+ }+ ?
) m1 f$ L6 t8 a! P8 q$ d
if(id == 0)
7 M7 R. V9 {/ Y3 T3 A9 A+ T+ S! L { D& o6 i( J' z$ ?
var page=/* document.getElementById("content").contentDocument */document; " G. b3 N. a. Y- p. A( W2 s9 Q& Z
this.RemoveHide(page,"span");0 I; ] y+ a4 u
this.RemoveHide(page,"font");- G2 r6 x3 ^ }. n
this.RemoveHide(page,"div");+ [1 H7 J" Y1 C
this.RemoveHide(page,"p");
# M# O: p1 R+ o3 }, D1 b
3 g* e* G' x6 F9 [; m }
! g- a6 {0 k' s/ n + t! `, h- r4 _( z0 C
}
) D/ \8 ^' c! M+ l this.getobjstyle=function(node,prop)
, e& J4 X# H) m I, {' l {$ R$ q5 ~! R: D. Z
try7 Q+ X7 U4 Z" \8 z
{. p1 `. j9 c9 W" O
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);9 A+ m: l0 N' R T3 M3 a
}
' r- q6 f1 X* }! t! r, J. w' | catch(e); t% F/ o* h$ a a' I
{
1 n, H2 m9 y8 S5 N% a if(debug)' O3 a; ]0 A; v' \) U
{
9 i% p: }" v' C9 {2 q3 e9 H% g3 F. i1 q v alert(e.message);
; ]: R( _/ B; k }3 t9 R6 ^0 \- o# [" b' P8 c, k6 |
6 B, Y9 @! ~# N y3 _, @ D) U
return "200";
. I, Z9 l" E* W& z; j% U7 S( u! X }
% F/ @4 c7 k% `6 x }
U P: _- [6 u. B5 \8 ?, u; x: {
' U! f# R. `5 M$ t9 B# M this.RemoveHide=function(page,objname)( H1 O# Z8 ^3 M$ A4 [
{
3 t; i2 m; ~# ? i3 x- I try( ~- Q$ M4 m/ X6 q N
{
- B/ l9 T8 R# O2 V% f/ \ ` var minValue=15; }4 `8 r6 I' k/ e
var objs=page.getElementsByTagName(objname); 6 J( [2 c1 j p8 T
: s+ a" z4 g" \: ?# |5 M if(objs.length == 0)
3 l4 c* z) k0 _0 ?' R& E7 c! F# s {( N/ l! N/ g7 U& M
if(debug)
* G/ _ [( m3 H; H7 z {3 k8 A& a. t+ r
alert("no object found!:"+objname);
7 z( U! i7 V) _6 E- ~ o8 S }
1 O- J& O; {; w6 y7 R* H2 \6 v }( R7 R% r& x+ g2 g- ?, b8 a
else5 H/ K" H; Q3 e) F: \, E
{
1 a8 K$ a+ J. A" R
( z1 E+ C L- r, b" x5 l for(var i=objs.length-1;i>=0;i--) 5 S* b5 j* p2 P
{
+ r/ a i& F" o var node=objs.item(i); 8 J3 @ K9 l# v
5 w/ @ u! k' u( y: x
. ^1 e$ k' ]& s p if(this.getobjstyle(node,"display") == "none" ||# m, @0 d, D" e" w5 E
this.getobjstyle(node,"visibility") =="hidden" ||
8 _' `+ y2 ]2 D5 f- R parseInt(this.getobjstyle(node,"font-size")) == 0)
4 z6 O# l* [* b6 I" q# a, ? {0 Q' W. V1 a; H! ]3 y3 T2 P5 \
if(debug)
9 `+ I1 [' A5 ~ q {/ v: _- B7 d6 H) \% T3 c
alert("remove invisiable!");/ u3 i3 P% a& _/ s; h( {* C
}
/ g- {' V5 S0 O" ?3 K8 m node.parentNode.removeChild(node);
5 I2 ~* D' x1 p9 l7 q- t/ v+ }; z & q! @4 s) X( p' ^/ q% }0 W
}0 ^3 ~) x, {$ q; d" G# S
else
8 W4 Y& Z. u( q/ X! e/ H. W {
2 }- X* G5 y. V) b1 o* i if(node.parentNode)
% u" s3 R7 r; T0 W {/ ?- l" S' N5 B% O% C
var orgNode=node;" A6 q7 N3 H0 O0 W
var orgColor=this.getobjstyle(orgNode,"color")5 f0 S7 P/ K7 h0 _: _
var orgRGB=getRGB(orgColor);
: T# L8 v8 z/ x% A ! x$ ^9 W+ n4 L* E9 E
var parentNode=node.parentNode
) G" U6 \3 ^* [, f" w+ g/ y. k0 V var parentBgColor=this.getobjstyle(parentNode,"background-color");0 C0 Q' _' D9 @' g: b
6 F5 E$ i- O& i4 N
var isLast=false;
& M4 `8 d: } k9 U. R
- P. Z3 O, Z- T5 _ while(parentBgColor == "transparent")
' Z8 [2 o- [4 U: a {
& f8 K0 m& `& u* t# C5 S9 f 4 Z9 W$ T8 o: \/ j' ]+ T4 f7 B' P
2 E/ i3 O" f: l- l9 X7 A+ [) H
if(parentNode.parentNode == null)
( m! H/ }9 o5 C" C4 f9 V' V6 ] {
; `. D4 \- Z* b' P/ } isLast=true;8 r8 u! b- n; {3 J$ g
break;
+ x* A. R% H1 e }
" i; U2 L* y: G! u( } parentNode=parentNode.parentNode; Q: i% K$ f+ c, ~+ g5 C8 T3 N: l
parentBgColor=this.getobjstyle(parentNode,"background-color");
T+ o' V, \# h# Q4 p
. C3 b8 e9 F5 X R# G if(parentBgColor != "transparent") ! ~: S" [$ X* U% |
{
3 J# J. s6 n+ G' F+ d break;
* [* d, u& x: g L. _4 g }
- Z0 _8 M7 w7 S$ ]# f m% c% | }! U1 } f2 r! m6 H8 D
if(isLast) . M+ S% o% l+ L
{' O6 s9 a) d0 S7 `2 C. c
if(debug)2 e, J4 _$ x' ~7 B) n1 T, q& v+ l. \
{8 x5 m9 E5 J/ _
alert("last!!");
9 \$ A5 w5 w7 G' \5 q }
! N9 {* M# N/ `" C# h) n0 N if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
7 B/ H% V1 ?$ Y {4 c& N ?) K3 K
orgNode.parentNode.removeChild(orgNode); 9 T% Q5 h9 l7 u P6 Q
}
- L6 S! ^0 r/ z% _9 O% `; C }
; p( }' D) j k" M1 j else
% D4 Y- N0 d+ P+ u. O% k E5 F {2 Y Z- y- ^+ h7 _
if(debug)
; d, H/ O Y2 t5 e! x {9 z5 s1 m& n- o, Q
alert("compare color and parent bgcolor!");* N s; U, X8 x9 w4 v0 j; d2 N
}1 e( `! i7 x) o G8 Z) w3 W; L
parentBgRGB=getRGB(parentBgColor);
$ C0 r& z7 \7 D9 K6 o if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))' W E# f6 v1 T) x8 H- s% D) U! Y
{
0 b) k/ j. o a6 H D orgNode.parentNode.removeChild(orgNode); 1 m: @2 b o1 l1 B ]* a! K2 I, D9 _
}
* C. S) a) ?* j% I+ N( Z }
/ u7 {5 N/ D+ u1 ~ }' o9 u2 P4 y! C* `+ V! G3 O
}
D' W& n+ p2 p- }4 v% ~ }0 X6 p' A! @6 t& w
}) S3 @0 j5 }. @
! a; q1 m! W7 C }
1 }6 q2 y" y; F3 ?, g; P% v
var itemFrames = page.getElementsByTagName("frame");
1 @( P! g2 o6 p var itemiFrames = page.getElementsByTagName("iframe");
; Z) g9 s( a# e5 S6 L! ?+ g
& G- _* r2 X/ P# M" X: @4 c var frame, iframe;
* x* ?7 \* s4 K" i- K if (itemFrames.length > 0)" ^7 C8 I0 f4 {) q3 k
{
, `! Y A( J" @# r0 g" E for (var i = 0 ; i< itemFrames.length ; i++) ; q6 I3 H! {0 z! Y: T/ S. W# l' r7 u
{
% z6 Y& l" @9 e2 ^* c g/ { frame = itemFrames.contentDocument;
! e6 b3 N: }8 u% Q9 s3 _) k this.RemoveHide(frame,objname); . v$ w$ `* y! q$ x, q7 h0 I
}. y7 W. N/ V, ^+ @) g
}: t) m. c, O* ]3 s
if (itemiFrames.length > 0)
+ ?3 o/ J6 H5 Y" m {
' G% @/ @7 P! o) x8 _# Z* X/ e for (var i = 0 ; i < itemiFrames.length ; i++)
- Q3 p( e: J) e9 p7 r {( }) i; y, n( p* w* e
iframe = itemiFrames.contentDocument;) p- U0 C1 w' Y8 ~, `$ O4 t" R
this.RemoveHide(iframe,objname);
{( p+ c0 m9 \4 v# u }5 d' v/ F8 _" ^( Y
}
$ x s# q# c2 L. o5 o k( F }- K6 M8 z: b% x% k$ H
catch(e)& _6 B# a K4 K& T% @0 T
{
0 I$ V# j4 L2 Y if(debug); ~% O& U% U2 F) v
{0 u$ i4 K8 N9 k* @! T( Y, a
alert(e.message);
9 ]! w9 U) E: ?7 {, v2 l U+ ~ }
. w) t# V/ t- @8 F9 ?" g. ^* P }
) e% R3 j) N& k }
- u& a$ y8 {; D/ ^9 f ) F) L9 d; @5 l2 _
}/ q+ W( R- A+ N; H: @
4 l; g- h4 ?# ~ Z
function getRGB(colorString)3 M/ ^: [4 n7 X9 u, o/ |3 {
{
9 V) e( I) F1 B* l( O: C var RGB = new Array;5 l" C5 Y8 ^4 ] f* ^& g1 P& R3 [! e
var tempSting=colorString.substring(4,colorString.length-1);
, z$ V% H# }/ `' }9 |1 f1 d var tempArray=tempSting.split(",");
6 e6 }, r8 O. ~/ p6 ], G; E- Z) W+ D1 ?
RGB[0]=parseInt(tempArray[0]);- m4 p }* ?* W: _# v* [" b: C
RGB[1]=parseInt(tempArray[1]);
* e( f8 t, I- ^2 i9 D0 F" C& T RGB[2]=parseInt(tempArray[2]);
/ \4 m& v; e. ]2 V5 H( N
% |+ C* @7 o [' w) B0 C% | return RGB;! e5 \ x9 M. T& c$ ?- p
}
- Z1 R+ H4 ^: G ?( B; z$ Lfunction keys(evt) $ y3 |! w6 s& |$ M% ~2 D
{ ( i" I6 T, A" I. B) U
if(evt.ctrlKey && evt.keyCode=="81") 0 H: ^5 l) D ~+ E) F( _6 t. Z
{ * F2 s* V9 r8 Y/ g9 _
CleanHideObj.on(0,1);. d2 d3 V0 v- T5 v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . t; T# F/ c8 L" g; r
& S2 k0 F8 x0 |% f! {& v$ {! | } & `- H8 k, Q) D; V# o
} 0 b% w; e7 P2 c& d. j
document.addEventListener('keydown', keys, false); / J8 R* m. u- C+ [$ y
GM_registerMenuCommand ('Clean Hide',0 l5 `! L, A/ L) S
function(e){
, [9 C( Z3 g+ E6 I, p7 fCleanHideObj.on(0,1)& G7 i& {, P$ `
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
3 O% E3 w+ \5 d8 J});
8 U; L+ b7 }9 s; J( N1 G5 V |
评分
-
查看全部评分
|