|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 0 }4 Q; ^. Y! J+ t1 Q5 l
& T! y; {/ X/ C3 S! u8 g
火狐插件,用猴子& \) z) M2 a. Z2 l$ U
) z. c" B. F) p8 a3 S' x4 ?/ I
var debug=false;
1 P5 k# h. {8 ?7 Z: O2 Bvar CleanHideObj=new CleanHideClass();* g2 @ r$ Y, R5 {( l
- X% H6 i' a" P+ T
function CleanHideClass() ) g% ]$ b1 E' H& W! S6 p
{
5 A0 b9 |# s: _/ u% d9 |
) M/ ?. e" @1 B' f9 f$ {3 a. | n this.on=function(id,bMZ)) e9 ]+ e* s) g$ \8 G* N
{
, |. g5 t% s! Z$ O* N- M5 s" W; ~ 6 m3 c$ d3 Y0 V, F6 `8 y" {! W
if(id == 0)
( c! Z8 O: S3 E' ^6 s! y* R {
! T1 U* L# o. x4 }8 q U E8 x( M( q' S var page=/* document.getElementById("content").contentDocument */document; . [0 I/ J# M9 m, _
this.RemoveHide(page,"span");9 m7 w6 S" l. K! m3 ~, e$ S5 ^
this.RemoveHide(page,"font");' {/ ~8 f& E" d
this.RemoveHide(page,"div");" `3 p4 Y- H3 [/ S0 h: w
this.RemoveHide(page,"p");+ D! l, S' q; ?4 A9 S
i$ x; x U' j. |
}. j- u2 }# Y0 G+ d0 H
, U; M+ y' Y6 b' i- A) [1 E }
2 P" N7 \% X2 W0 u this.getobjstyle=function(node,prop)
' P) @0 B( ^% R {
* _7 w" p4 b- }4 t try
: q! y4 ]9 |% J. O v {
1 ^; i- A! [1 Q! P9 }$ ~ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, r) c- x9 ]9 S' t g9 P }
' L% M6 `' p8 K7 j9 ` catch(e)0 h- i. [8 [- |5 Q+ x* e
{2 X5 C; M2 l& K& k+ h) T
if(debug)3 o; e1 ` {3 b# s! d
{+ }' F( V* D% s. x4 A. L2 n
alert(e.message);
' j1 U+ B" N0 s* n2 ` ~ }
2 U& L8 N+ I- m3 C* r9 z
$ G7 A) U; ^; @ return "200";
; ]4 W) `) o7 r: T8 ]& T7 \9 B }. p+ y0 F; r) t9 l: D8 I4 x- M
}
/ F! S% ]/ [* B) R) B7 _* [ : o& o; v2 g3 L# ^0 A/ n
this.RemoveHide=function(page,objname)
: [' Q1 ~% W1 W+ l" T5 M- ?9 N- ^ {5 l3 ~ P; X$ l6 e9 W1 z
try
8 D% J( O9 n/ } {/ U0 U5 |& P n: r+ w: n8 r
var minValue=15;
" }2 W0 ~$ c$ N( ]2 J9 | var objs=page.getElementsByTagName(objname);
% E6 q2 k# Z; _* L+ V6 `) F6 Q( E, @$ n' x: C9 H
if(objs.length == 0) 3 ~. a5 o+ ?2 u8 z) b! f
{* ^. U! w+ Z5 u( c$ H
if(debug)
: o. A; P3 [4 [' e# z* b {
& j/ y- l7 V/ F6 U- D alert("no object found!:"+objname);2 v" T, c/ \/ B6 w& k9 y# v
}/ N5 g4 {5 ^; W" z8 F
}% Y F5 ^# R4 E/ K
else( {1 V% ~7 A( ~, w s$ R- w
{
6 O# ?( @1 K3 R( q: r8 p
7 v- e) B; j& a7 k6 X% {* t' r7 R+ T for(var i=objs.length-1;i>=0;i--) ! z; j. X( x$ N1 [3 [: v0 @
{/ v Q! w! H p. C
var node=objs.item(i);
' @* ]# \/ e/ _8 v; f) c8 j / H- X# V4 a( Z2 n
. X6 z' V6 h2 @/ x& g& n; e1 \
if(this.getobjstyle(node,"display") == "none" ||
& y9 f! y# B( o! ~! v1 U: I4 K this.getobjstyle(node,"visibility") =="hidden" ||
; K; I! N D* c+ `) R parseInt(this.getobjstyle(node,"font-size")) == 0) , x) G6 W2 U& w% P$ V
{; L/ F! q! f9 l. k# u$ B- j" [
if(debug)
: U1 w4 k5 Z' `0 H) X {' p# _" A2 \; }
alert("remove invisiable!");2 T8 i3 W! B+ W3 r' L, H4 X
}
$ t7 E; z9 T& U! S node.parentNode.removeChild(node);
/ U& i- t# W# n1 h7 Y: v% y 1 I, `$ Q5 w0 V9 B
}
1 A+ @, c* O, ^( F+ l8 ^ else
+ Q+ V( n. X3 H- ]4 t {4 |% |) c# ?3 B& X' h. w* C4 b
if(node.parentNode) ' u( q s& f" k# [4 E
{
5 \% [( ?4 L" r# t var orgNode=node;
( N; S( s, e! @) f g2 D var orgColor=this.getobjstyle(orgNode,"color")
; H! i4 ?0 g" x var orgRGB=getRGB(orgColor);
$ V9 A, y! _* M5 h, C# K) E5 Z
+ E" U8 L) _3 f4 N var parentNode=node.parentNode
+ N: c. l1 z9 o4 J4 c var parentBgColor=this.getobjstyle(parentNode,"background-color");
" A: W& h/ m- C" _5 F " {; R# |5 _+ f% I' @$ F
var isLast=false;6 D- j I4 x0 E6 e5 D
& V& U1 A0 O6 O( v' m! V
while(parentBgColor == "transparent")
; N! E4 |& i5 M {8 w/ N; s& t: l; G! o
' c0 r$ o& o$ O' h. l 1 z7 Y4 D5 S) P* T9 T* _
if(parentNode.parentNode == null)! f. W( q# D- a M* {, x
{+ Q( Z* P- c7 [: Y1 T
isLast=true;
$ N1 R& Y5 n) U" W5 N. | break;& P% d% G, m# e# V/ e) S
}) a! x* x. _7 F" u- e8 E
parentNode=parentNode.parentNode;+ \6 a# j) \, p/ x( ~( ~& J
parentBgColor=this.getobjstyle(parentNode,"background-color");
0 ]6 O0 z8 k! O+ x
. J+ H8 R* Z [ if(parentBgColor != "transparent")
# [2 {) Y4 L: ?$ }2 E1 s' ]4 n {
( u7 L- G. J. Q1 d6 D+ |( r2 g4 ] break;: q7 ~, b% i# ]: y5 p1 r: H$ V
}0 E0 Z7 I# X* q1 J8 f
}+ g; W3 e1 P2 I& A2 Z( p: Y* S
if(isLast) 1 |' Z) A+ T0 b5 \5 z
{- D/ f- j; ]2 d1 ~
if(debug)- F8 V- g4 c7 @
{
, A" W. ]3 \1 \! x7 l alert("last!!");+ G# s$ [5 s, g% i, Q* Z/ V) \7 d2 u
}! r3 ~4 |' H) a8 j$ l5 w; K+ Z
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
3 f) e- R2 U5 f% _ {' |1 ^( z5 ?( I6 E
orgNode.parentNode.removeChild(orgNode); - o7 P1 Y* v6 [% U
}* ^" ?2 I& b W, ~
}
! e5 B" \2 ?5 o3 u else
" a5 `, \; O! K2 L/ B {
2 Q$ X7 T& Q& t5 |; I- W if(debug) U0 p T0 @0 W
{2 U6 [! D: r" l
alert("compare color and parent bgcolor!");
- y, e' i& F# ]% n$ x }' D+ ]0 W1 ]( V# L# S1 C
parentBgRGB=getRGB(parentBgColor);6 W3 _( U. L J. k) C' n* d W
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
3 n, `. z4 t( n9 c- a. R& x {
6 |* O4 F1 u# b, C. t* e; a/ l% ? orgNode.parentNode.removeChild(orgNode); 7 r, l+ I8 k% a. G' }
}- ]' x: ]+ @6 y' R1 q
}
4 ~' _$ `1 ]6 Y; U$ T% d }
* _5 |; g- N1 I9 V) v }
+ s& r9 G( k+ A1 o# z: m& `7 d }) O% [- w6 B2 `3 m+ R: Q" v& Z/ H
}
0 R+ F9 C+ }2 R# m1 s% s
+ D+ m' b' c! }6 d8 U; D / _1 t4 h1 m$ I) }! A2 f
var itemFrames = page.getElementsByTagName("frame");
?! M5 ~7 R. Y% L2 K var itemiFrames = page.getElementsByTagName("iframe");
2 |2 i' k9 _/ A5 Y3 E2 c ' n+ T0 j B2 u4 t: x/ L6 ~
var frame, iframe;
1 a2 E6 F W2 q+ A% p if (itemFrames.length > 0)
! z; ?/ J% L. @ ~$ ~( _ {) X6 g& P: t8 e; w* b! q. ~" J+ Y
for (var i = 0 ; i< itemFrames.length ; i++)
2 Y% f; z3 V1 n$ m( ? {4 |' K' n; J. ?8 c4 U/ D
frame = itemFrames.contentDocument;- `+ b+ Y1 H- A* d
this.RemoveHide(frame,objname);
0 ~& m' u0 D2 @" l* R }; _: {- G- l- g. u+ H5 |
}& Y5 T7 V- P) U
if (itemiFrames.length > 0)
! G: e2 J0 z2 { {) M+ {, ~1 L+ _$ P1 {: R* k [
for (var i = 0 ; i < itemiFrames.length ; i++) 4 y; K! G* H- o, n9 t, S- b( Y" B- `
{6 I6 y9 d2 F3 |% p& t
iframe = itemiFrames.contentDocument;% o& A% w+ Y7 z
this.RemoveHide(iframe,objname); & W; Z# o6 T; y. J! Y2 T
}
9 Q1 |1 G/ u% W3 V4 R; j4 H& T% Y. p }
" y. Y! H- h) k6 t8 f }2 `4 p$ B V \6 X1 I: y- n
catch(e)
' T6 ?8 n$ u/ T; p6 j; K {
8 K+ s+ X5 j" t: }. [, G if(debug)
% [: Q. P& G2 m {
6 b& p* K, ? B5 o& |/ i alert(e.message);+ I) x0 z" E% f3 j; ~
}7 E X+ g, o- a' z- d$ K6 ?
}
) L6 j% P8 w* U7 b# V Z5 \ }
( D8 z {8 l/ i( k& k" v
; V- X# c& }+ U% L, n& |6 K2 ?. r% h/ a}& X! C0 O' y: T5 q- U
) u% `" x* c4 V: `9 U& h+ T
function getRGB(colorString)
6 P1 j! x/ j+ T. w% B7 ]3 h" Q4 `3 p% G{
% ?! u0 A6 `! A. A5 q; |: v var RGB = new Array;! e7 H7 v, E7 `3 A) _ S
var tempSting=colorString.substring(4,colorString.length-1);- H4 w: S/ }: F+ j6 Q: y
var tempArray=tempSting.split(",");' v; Y5 U) ^! y# V6 o3 i+ f
0 R, C0 s+ \, w/ ?1 m3 [
RGB[0]=parseInt(tempArray[0]);
: t4 F- t, _- [ RGB[1]=parseInt(tempArray[1]);" E+ N0 H. _; T" {+ f" o! U
RGB[2]=parseInt(tempArray[2]);9 j) b9 W. _4 M7 Z3 Q
0 \4 }) V/ z1 y* B r return RGB;
, s, F9 v% P/ x& e8 O: ^" i}1 Q6 G2 I1 l. r5 u; ]3 O
function keys(evt) 8 m6 [. @' R P6 k0 B' v! ^
{ " S( p2 |+ W+ j: P2 l4 ^# b9 x6 m
if(evt.ctrlKey && evt.keyCode=="81") & `. q& b; a2 Q/ D( x
{
2 A) ~: ? B, m( e CleanHideObj.on(0,1);" A- Y) x/ R6 Y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 F1 Q& x* i" A ) P$ w4 p4 p. u J( p- s6 N) W7 Z) F
} + {& X3 A& t7 f. s6 W& u( z
}
3 J0 M! o4 C7 ^, adocument.addEventListener('keydown', keys, false); {7 {% Y; g, Z5 D6 S
GM_registerMenuCommand ('Clean Hide',+ ^! X. `# {5 V0 o& ~% h) W
function(e){) r1 a0 {& k* t. H! p
CleanHideObj.on(0,1)3 L, k" ?+ m: I! C* r, ] d
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ W b7 _( G2 f0 e3 @: g- X});
* J6 |3 E: ]; q3 ]7 l+ k( I5 L |
评分
-
查看全部评分
|