|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 . ~6 y* f% s, o7 `: e
3 D2 E/ {0 ^4 D0 Z* r- y* v) W火狐插件,用猴子7 z& V/ h8 ~7 F1 O- Z8 v- l
5 W% y! S# B1 ^& \0 n
var debug=false; ! k9 `' t6 X M& {
var CleanHideObj=new CleanHideClass();
. [# }) {; j' _
4 D3 Q' U; e: qfunction CleanHideClass()
3 ?: ^/ x8 U: m$ Y" o{
+ B2 `9 f# _1 J7 n+ c3 Y. K) e * w' O" o! @% ]& ]
this.on=function(id,bMZ)
1 o# O9 y6 R* r. e, b! B* C. K {% D7 g4 F! u0 T$ O/ u# C
/ b& U! @) q* }/ V1 b: z/ c if(id == 0)
3 [9 m) s P$ X% n {" t/ i( c4 y6 ]# n& x% m- ~
var page=/* document.getElementById("content").contentDocument */document; 4 P" q* E e3 A" C
this.RemoveHide(page,"span");
4 z" B& S. `; m1 q1 K this.RemoveHide(page,"font");
) o1 ^' Z; |+ [ this.RemoveHide(page,"div");+ L) |6 x4 t4 I) K
this.RemoveHide(page,"p");. d( g# l0 {- ^0 J1 b
6 p* t v2 {! Q
}1 k, S9 {' o( H# o. I6 K) S
8 A, w+ c; ]( T" j5 T% i. M }
$ M9 ^9 i2 H6 A2 I this.getobjstyle=function(node,prop)
/ f+ V; r+ R+ H2 P6 ~ {
1 p f2 N& T$ ] try, b- O( T9 }; E$ P8 _* X, H: D0 z7 T
{
, ?. ~0 j' F) T return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
+ e5 Y5 Y+ @" D* X2 z4 e' c% D }
: N+ ?1 }* G9 U catch(e)% x' v) ]8 K) g3 [
{
' E; K9 }: r2 \. Y% i if(debug)
' \: l* [1 y. ]; e8 a( E {& B' L1 a9 X" u2 [
alert(e.message);2 B }& n% ^! D1 R
}* V6 X4 t, n4 [9 w
' M$ m2 Z3 k! E0 l3 k8 i0 _
return "200";" P c) \" V0 j$ x% _
}
% P8 ^9 B/ h# K" _ }
6 G2 s" @) f3 f: s & E! q% h$ J% `* D
this.RemoveHide=function(page,objname)
7 X' N+ j4 }* k ` {! s" V- x `% D7 z6 H5 f3 {
try1 R" ]0 q0 Q: U# F5 t) x
{
3 q9 {4 I3 |4 Z8 `) S4 T var minValue=15;: g7 b# ~! r0 k6 G" W. d
var objs=page.getElementsByTagName(objname);
7 C6 V) W5 B1 \$ B
" A* K$ d2 R m0 l if(objs.length == 0)
7 d% y9 G( b6 F2 S* M: N {- g& L# ^& a$ f
if(debug)6 |. m j/ a1 R; W5 t# ?
{
; Z C. Z) T) o# S/ v# q alert("no object found!:"+objname);& W; q g( ~# Y2 J3 Y( a
}/ d0 h+ a8 [4 r9 s( \( @
}
/ }9 n* V2 K/ k1 L# b; C8 F) Y else2 n; x" a7 V+ b% n4 I d5 f7 z! A& c
{
: K- ^6 _: Q H+ _& f. _ _! x. n & M6 c6 X4 k6 ?4 J4 h
for(var i=objs.length-1;i>=0;i--) 1 ?4 I. R$ x1 B I3 |' _
{; |1 n' a& e/ [" F2 D' h' C7 Q
var node=objs.item(i);
* N7 I1 v. }" H4 ?1 r, [
) K9 o& K0 u5 h# I( `3 F
. z* x- z/ ~$ W: H8 J! ~* z4 _: m; ~ if(this.getobjstyle(node,"display") == "none" ||
5 t3 l/ r+ }. R* }9 H this.getobjstyle(node,"visibility") =="hidden" ||% R" d# w1 [7 w8 \5 K0 N# @1 D
parseInt(this.getobjstyle(node,"font-size")) == 0) 0 S3 m9 ~1 \' E& R7 ^3 J0 m: X
{
/ I5 g& S1 F% T! m* ] if(debug)
9 x( v0 Y" ]; G0 o- a3 ]1 V9 d {
- C5 [& Y0 F3 \! u" P: G alert("remove invisiable!");8 n6 k2 O6 G/ G) R! m
}
% w7 f& K% A. { H2 O1 Y( f node.parentNode.removeChild(node);. P7 \5 {- Z7 a2 x
, L3 V# Z8 \: \! {. E! h
}
5 Y- B0 i u* k) G8 j/ H. j1 a else - q4 E' s3 D% f/ |
{
' O& P, u+ W! l) r4 p if(node.parentNode) ) `: S+ P3 K; j
{" q0 k8 x, b* o) F& K$ ?
var orgNode=node;
7 ]# e% x2 e- D0 M var orgColor=this.getobjstyle(orgNode,"color"), B9 q& ]& [5 ?, J7 s
var orgRGB=getRGB(orgColor);
. ^. A' j0 w$ a5 m6 f ( A8 M9 L2 v4 t; n9 ]# [+ |
var parentNode=node.parentNode
- s- m- Y- J7 `1 ~0 o) ~' J/ n' D- C. z var parentBgColor=this.getobjstyle(parentNode,"background-color");
* C$ j6 J: b. Y7 ^7 o ! E' C1 F# k' [' c8 b
var isLast=false;+ F, ~8 U& j! s1 S# |
- u% T" t' `9 O E6 @/ f3 w while(parentBgColor == "transparent") & n- O& S. \4 |( S6 k4 U& N
{
5 Y, l" O' P7 ?! Q- E4 [( n# N- ]
, X% X5 _, B$ M6 Z+ M
$ k" g: ]; `. D1 z- W; M if(parentNode.parentNode == null)
' q0 l7 h) f, w0 O7 T {- U- P9 S& u9 ]6 V9 V
isLast=true;# J8 ^6 Q; [* Z% ]1 d
break;
+ S" P0 |1 y2 M! d }
3 t* T/ W/ D m4 { parentNode=parentNode.parentNode;) P* M, F) T1 b
parentBgColor=this.getobjstyle(parentNode,"background-color");. W- `/ a# @ b8 g* P& p) m
- D! s4 S% }+ V, A# F h8 ~% p
if(parentBgColor != "transparent") - h, e z+ `* g3 [2 ^: k
{8 B! {$ t2 A- z* M/ t& v
break;
' q& _' a3 B* x, o }
8 e" W0 v3 @. E& P: X# _; I }9 \* }" T# y0 u. C2 E
if(isLast) / V% u4 |; }' N
{3 k1 l/ Y- r3 i) M' \; z4 H
if(debug)6 z: {2 E7 |! |
{
% ~; k+ _' b% [ alert("last!!");- n! j/ J; _& T3 x2 Y, ^+ S/ U
}
" c8 @5 k* a% s3 L4 I6 W: G if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
" `* v/ L0 c. @# d2 l9 i {
0 F0 M$ o2 f2 W orgNode.parentNode.removeChild(orgNode);
9 L" `" r9 x: I8 W4 w }* `* @& S( D9 G6 |& H* W9 L
}% h0 \6 M, K6 P, n5 W2 l) D5 I
else
8 x: ?0 m- t+ D% ?8 Y {" X5 K% w9 G' m) X6 E. P% i6 r2 |2 W
if(debug)
2 j7 R9 t6 h$ L. R {
E% j" v! Z+ S( Q) f alert("compare color and parent bgcolor!");# J3 g4 M% i) M) ?- R
}
- i- ]; L3 V+ {/ _ parentBgRGB=getRGB(parentBgColor);
; U: V5 ]$ _+ ?9 U# s, C, _; ^ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 n% f6 Y4 i9 ^0 ~
{
8 O7 [8 l J q+ }" U orgNode.parentNode.removeChild(orgNode);
3 y3 W$ H: e' B7 @# B# y }' L# W* G. u( C# A1 `" l z
}
& A# v8 ^/ g( ? }
5 C& [$ n; y5 r$ s }2 U9 k0 s7 l& F/ S" }
}! {" Q# a. P: u
}
8 h. O! U8 ?: ~2 X3 G9 m# n
% W7 ?5 k- Y3 |7 t3 s
6 o$ Y6 G i0 s0 k( d var itemFrames = page.getElementsByTagName("frame");8 I- o3 w( M8 r" z! M
var itemiFrames = page.getElementsByTagName("iframe");
/ Z/ l7 `- t, r3 q; l' \
! _( f X6 \% Y. r5 O7 ^ var frame, iframe;8 m/ k4 k0 a6 |1 b9 o
if (itemFrames.length > 0)& p$ v$ M2 f4 L. @0 \
{
. T: g: {5 Q2 h1 `: t- J" G7 S3 i for (var i = 0 ; i< itemFrames.length ; i++)
5 C; \( I" u8 |" v7 s, u, C {
' O. n0 Y, _, g+ u frame = itemFrames.contentDocument;! u0 L) R( K2 m9 X7 [" L1 U- B% x
this.RemoveHide(frame,objname); 7 L2 G5 ]) v6 A* ^+ M
}6 |4 m+ K( p* }& @! Q
}" u, u' E' p6 j& @% l: M0 |# z( k) T
if (itemiFrames.length > 0)" x, I( A0 h$ F
{3 W. p3 V# Y" n: L
for (var i = 0 ; i < itemiFrames.length ; i++)
4 S( i2 }0 y1 u, q) S0 h2 `# S2 h1 P {, R; W2 M3 L6 B2 |
iframe = itemiFrames.contentDocument;
8 T/ N! h* T7 t6 V7 @, M1 d# I3 _ this.RemoveHide(iframe,objname); " L( C$ n6 g* f9 R7 y8 P" j
}2 I1 t8 W3 P& |
}
$ \8 B/ q: s% a }
8 N H/ K' _" S7 q6 k catch(e)! P% V, r% ?; r; K2 }8 @! h: L
{
$ F! C U/ C/ Y2 S if(debug)( n8 d. ?' M: C
{( L; {% Y) y& L0 ?
alert(e.message);/ O' Q; V, g4 D h0 ^9 T' A: J
}; U4 {( M' Z' u2 S; B
}0 B6 s% ]( m9 ~8 T
}3 r! P5 P$ h- Y# {# u" Z
5 n; s9 N( |* \2 z
}& n( q5 _7 L3 ~/ L+ l7 ?$ g. ~
* }% _# i$ G3 c% s6 Nfunction getRGB(colorString)
, G6 n5 B+ V5 Y' d' v+ C9 @{
! V8 M2 [. M& k; w* q* J/ E var RGB = new Array;; ? j, U4 o: [8 t0 d3 ?! j
var tempSting=colorString.substring(4,colorString.length-1);
2 C0 K6 u$ f! C var tempArray=tempSting.split(",");
# M% `; @' t' V
0 u: X2 h- C( ]( C+ ] RGB[0]=parseInt(tempArray[0]);1 R/ o* S! V' A* R d' L
RGB[1]=parseInt(tempArray[1]);& B; a. ?6 X3 w/ {% d, ^; K
RGB[2]=parseInt(tempArray[2]);
3 I2 c; }$ z, W) X; u& h
: F; e# |" |6 v. x8 N2 a9 e return RGB;
, {' D5 r& v/ y/ [}- i' q q7 I) r3 v; P( C) Q
function keys(evt)
# g2 M' z% b( \# T+ ] { # H8 x9 ~6 ]( W) I
if(evt.ctrlKey && evt.keyCode=="81")
+ q* \% f- j0 I% v- j { $ t* ^- f3 s& z$ A: L
CleanHideObj.on(0,1);4 C0 Y( L s& s8 A: ~
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 k) ]9 G' i& k5 g
2 b) j. T# W( k- H } 0 L: f# P% {+ W* l
}
5 F4 z, D6 T* C$ u9 Xdocument.addEventListener('keydown', keys, false); & z( J' F5 K. Z. z( V$ g; t
GM_registerMenuCommand ('Clean Hide',
9 B6 i |, C, X% }/ t. _( ofunction(e){
6 G# F/ q" O! k- E7 OCleanHideObj.on(0,1)% P5 U8 r6 a( Z) q# }4 n+ e$ Y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
' l8 g4 a" {/ U) q5 [3 e});
8 n* {/ {4 I5 T2 M |
评分
-
查看全部评分
|