|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 1 D; a% `0 }2 U6 p
n3 y( l/ p' Q5 T火狐插件,用猴子% x) S- b8 p0 A2 b0 M' s7 s Q' h
]: y6 o3 K4 f' Xvar debug=false;
! u% C+ x; n( e# a; P8 |var CleanHideObj=new CleanHideClass();
2 }" e. T+ Y, F
* W% y: t8 }2 d- I) K/ p3 ?function CleanHideClass()
8 \) ~. u# a! r7 C2 R: i{ 3 \1 F- M2 P0 p9 J3 q: [1 G* l
# A5 y( F9 f6 O
this.on=function(id,bMZ)
4 P' \6 o }. X' `! V% `- o {
X. T) l8 @ V1 C" W ' o0 f$ a; {/ e; `, n: f8 }
if(id == 0)5 {' \ ]. g, W6 m# Z
{
$ {) L; G3 `7 ] var page=/* document.getElementById("content").contentDocument */document;
! d ?: A3 R* v; w8 U6 ]- @ this.RemoveHide(page,"span");( _2 e O$ H _4 J
this.RemoveHide(page,"font");+ [& z2 ^- t. w: d4 m" R3 m: U
this.RemoveHide(page,"div");
& M3 N$ ^0 |' f* @ this.RemoveHide(page,"p");8 r0 u5 y- o3 s, b/ b: _1 T
( i) o2 P% [: u# y4 n
}9 G; P& A1 y5 I+ m0 r! L. A: @
2 M- |9 h, q) q! v5 w
}6 x1 u9 u' z% c. L
this.getobjstyle=function(node,prop)9 J3 G( y- [4 `3 S* E9 x
{7 y {6 q2 o9 J, g% @2 I
try6 U7 F7 T. f2 c5 d1 T
{& y8 R* u) F1 x
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);) i% S: m* L( c
}
% ^3 D I% E# [: u7 K; [ catch(e)( \2 l( v) i r0 Q
{; o+ `+ h$ t8 m0 G/ G6 } e
if(debug)
7 |. @0 U/ M" g. y {
- x2 c) u7 z3 I Z, G F( G alert(e.message);6 I& c# L5 d& @: u
}: [. m- s1 O9 y. f+ a
: j) c0 P' O4 d+ f5 H
return "200";" V4 Y( ~) S! } v
}
% R; |$ d8 Y( G N, S3 a$ a. `0 a }
7 i% Z7 u3 C9 i3 [8 S8 i& I & E9 N5 U/ J. Q3 U: L: y
this.RemoveHide=function(page,objname)
7 m/ H- R( E1 H: ~9 E {
- C: A l+ j3 w1 Q try
0 Y7 h& I* J' E: k {
/ E. s! |5 h) h var minValue=15;
( B: T+ ?- v4 x4 p2 l" G3 r; f var objs=page.getElementsByTagName(objname);
. z' e- h% J7 M: v, F2 w
9 ]1 c# O3 e. V1 i if(objs.length == 0)
$ v8 m8 C7 l- ^ Y4 G: z {$ v% }; k. y( G
if(debug)
0 Y/ ?6 C" _( o# ~; X+ n$ J {" j: o! \' I) L% p% P7 @
alert("no object found!:"+objname);1 f$ T: M" e4 Y1 v5 T( ^. r
}/ u7 Y/ S- z1 x- V5 Z: m6 s
}
" @; N4 m$ s J, w else
. V" R! [% ?9 t$ _3 S6 J4 a {- L4 x+ y: U* Q- D( W* p' v
# E) ~. q- [: }2 k5 @* F for(var i=objs.length-1;i>=0;i--) 8 j! {" r; Z# L7 Q: M
{
% O6 J+ w, {& W8 l' N* h8 ? a9 O var node=objs.item(i);
0 U- _. l1 Q v' `7 w1 S# T
' W: E: _9 v& U) H; {$ {1 N* n' K" k ) i K; |+ d' s5 Z1 ?& v6 E+ \4 t
if(this.getobjstyle(node,"display") == "none" ||
1 O3 {% q6 t/ s9 T* P) s" Y9 f4 ? this.getobjstyle(node,"visibility") =="hidden" ||, d# G3 ]8 @1 ~$ D/ p4 n2 g# O
parseInt(this.getobjstyle(node,"font-size")) == 0)
! E, t% O1 q' ]1 O' i {
- s `% n9 A$ K& d$ ] if(debug)
$ E! x: u1 s/ h' a+ j; W! b {
- z3 C& D3 E& t- u- [ alert("remove invisiable!");- n6 z% g* n) ~9 [3 h9 e$ L
}+ v1 h- h( w. e8 }- S
node.parentNode.removeChild(node);2 J2 ^/ `: s1 o5 Y
, P% K- {5 L( e }: ?! G* f2 b/ Q' E
else
. n/ U5 J5 X' g {) i9 x d0 g; s' y; x
if(node.parentNode)
2 t3 [: ?" {! l% F' C {. o/ ]7 `, B6 F; i2 V
var orgNode=node;( p2 K T# g. C, N, V- ~
var orgColor=this.getobjstyle(orgNode,"color")
1 v) p; D/ @ `) _( P5 \, W5 I, O var orgRGB=getRGB(orgColor); + A/ T$ ^. i$ t- X: u0 ~5 s" i
9 c+ f' v" c D& K. e/ Q$ Y/ {
var parentNode=node.parentNode
7 o, R% H" b( w* ] var parentBgColor=this.getobjstyle(parentNode,"background-color");' Y+ s* e( S! x! a6 Z4 q( g' G2 N
" ?9 s1 S# i! U7 q var isLast=false;
! }- \* Q6 \) z
* @. ?3 M$ C( Y while(parentBgColor == "transparent") 9 {/ V4 j9 E0 W5 `
{
4 z4 w1 E' y% G: Q1 E1 P0 _
/ e' w: ~! n) f9 B5 M 8 g2 S9 J8 K: l3 ~
if(parentNode.parentNode == null)
) K; |3 T' _ K- [3 O; b {& }; i n+ \0 t# y( ?8 p. \4 m5 b4 d
isLast=true;3 V" u) [) W, R. y; b- L
break;' o _4 y8 x: _0 i
}0 [9 K$ M9 A' D* u
parentNode=parentNode.parentNode;
% u' M/ H- Z3 ] ^1 X parentBgColor=this.getobjstyle(parentNode,"background-color");5 G( o" ]3 Z" i J. c4 U* h
* {2 g/ e! v5 A# z' s& B2 ^ if(parentBgColor != "transparent")
. T9 e+ z! E0 e {' ^4 E- y( |; |) I5 H. N( M
break;
3 }1 M: n1 ~8 U$ |& M }
* F' g( _3 t( d* X8 f }
4 ?9 Z5 @! \/ H p$ ~4 B if(isLast)
: H6 w5 E. _0 [& L0 [ {( W7 D6 ?0 f, g8 t j$ v
if(debug)$ O. b$ G# T- L; _0 n f" }3 n7 R# n
{9 U9 r- h+ s) e
alert("last!!");
' v, V$ w0 H9 g }
; g7 I. h+ r& L; x/ F if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
- t. z0 o6 v" v4 M# L2 a {
, @0 l, Q* o1 u$ u: f) P orgNode.parentNode.removeChild(orgNode); ! v$ t# v0 e! K7 Z
}
3 v: ~6 X( o( ^0 j% Y m. W }; X4 [2 F4 t, u' [& M
else. H) @9 F) I- O
{, r: J2 z4 _0 c' e5 [; t
if(debug)/ `# N0 H9 L- {$ k+ g) P" z$ H
{' P$ `3 @/ `# X
alert("compare color and parent bgcolor!");5 I, ?/ T/ t$ H+ n' @' `* P/ z
}
! x8 J3 U; o) ?6 R' j5 y+ j parentBgRGB=getRGB(parentBgColor);
5 [8 K3 S- @& b" u7 H4 Y: { if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))3 D+ R9 O; \+ R
{
) I0 ]$ ]2 o8 g ^: Y6 q% ^. K orgNode.parentNode.removeChild(orgNode);
0 R) e% X$ `2 B$ e7 i }
( t7 u \, u1 W }" v) N0 T! ?" V( c% s7 G% r
}$ }8 B& Z, F w# x7 }+ Y
}
& j8 q" `1 ]% T7 ~" d) a4 J }
1 q* s I; }5 B }
$ H/ J/ S4 |. D7 Z+ J' s6 A 9 n% s: ~. z5 D# g+ U* g/ ~
F0 x% c- D2 d9 ^
var itemFrames = page.getElementsByTagName("frame");
: T% s6 m# Y0 x+ |" S7 s' q var itemiFrames = page.getElementsByTagName("iframe");( k0 m0 J f5 B" z9 O
9 X/ `( m# p4 a# m var frame, iframe;8 U0 l- R. K& w2 N
if (itemFrames.length > 0)
* Q8 O& R, t! f {
" p2 i) z' j% A6 \6 ^* {* P0 D for (var i = 0 ; i< itemFrames.length ; i++)
9 E; w- d" G+ j% i: r! d% S# X4 E {
7 @/ g9 ^0 A% _2 q# T frame = itemFrames.contentDocument;
$ V2 {& V; d$ ~ this.RemoveHide(frame,objname); 4 E7 P4 o* t, T$ H
}
+ ~3 @+ H; o3 S G' M$ c }
- L4 x8 o* U7 p if (itemiFrames.length > 0)
7 o& z' z; s/ U) L _2 j2 a( t {- [' X- F2 z+ @5 K
for (var i = 0 ; i < itemiFrames.length ; i++)
' J4 p. F K# K3 Q1 o# K7 R {
3 O! I2 d; y8 t x iframe = itemiFrames.contentDocument;
! ?3 a. M7 L8 {1 p0 e# n# E/ T) ` this.RemoveHide(iframe,objname);
& f/ Y( G+ _" Z( f0 I1 F4 S% U3 N }8 a9 y/ J0 m! q& G U1 ?3 ^
}
) t' _; G1 w* s7 i$ n6 q$ _; s# ?6 U }
r4 _* }; O" ?9 e1 N9 ?/ k catch(e)
0 p% x( K( R5 l9 O {
; v# u4 s1 B3 d" s, d5 Z2 m C if(debug)4 l9 _+ U e" P+ }, x6 a
{
; L* `) l( U6 K9 \" | alert(e.message);
! w% W9 l3 `2 ?. V }- G @! G7 E: H
}
" w& B" c3 ~( M }) V8 Q( \; F' m3 x
4 [4 m* N6 b0 P7 J2 c- y: X
}
) ? U7 ]; E7 n& m; I- e# a# c0 `' C4 m: x
function getRGB(colorString)
: L- M( P2 H# O8 {# K- K7 _{
* x3 o3 s9 x0 M+ d6 ~ var RGB = new Array;2 p v# M2 ]" q$ ]4 z
var tempSting=colorString.substring(4,colorString.length-1);7 U" I5 Z4 k4 ?5 W1 |& {
var tempArray=tempSting.split(",");
6 ^5 S9 W: O. {8 ~. L) M$ a' |. d* K2 D) f! O
RGB[0]=parseInt(tempArray[0]);- Y5 X7 K+ j- C# V
RGB[1]=parseInt(tempArray[1]);
8 s0 E) }3 G0 \4 {5 A. g! Q RGB[2]=parseInt(tempArray[2]);! Y( o. A8 ^! B; d3 C8 K+ b8 i
3 ^/ z/ W9 U* S0 [( S/ d" P
return RGB;
9 x7 ^; L( s8 R6 C# c}
- q! @( h4 ^! y/ H% [function keys(evt)
. f9 J3 S# K4 n6 z6 f! E- _3 z# ` { 1 K$ c2 ]* L3 o. \4 Z9 b$ u! ^4 `
if(evt.ctrlKey && evt.keyCode=="81")
5 c" k& k: N: `) k7 M6 i {
" g# T5 `( `# ~# Y CleanHideObj.on(0,1);
5 `" U6 r W3 U& P9 @6 I4 E alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
8 Z$ m; e+ `, U4 n, [ - S B1 S: O8 f3 `+ Y' r \1 ?
} ! W. {3 E; Q7 J- ?% t$ D9 m" y
}
% D2 Q" d5 a' O+ |* tdocument.addEventListener('keydown', keys, false); + ?" H7 V# d9 ~' Z( w5 X& n: [1 w
GM_registerMenuCommand ('Clean Hide',5 @5 s7 V8 m, |4 n& o
function(e){
- D% p* v4 ~" _+ I" f/ ^, GCleanHideObj.on(0,1)
# u- `) Z% i. A5 talert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: `! O0 d; g1 b0 M- R8 \! g});
7 O$ H/ F4 ~& [ |
评分
-
查看全部评分
|