|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ( A1 u& e4 o; Z( B' t" y6 q
- l8 T6 ^/ f! Q4 r+ ]/ A火狐插件,用猴子
% b# t; m J7 H# d4 F/ [0 p' I
5 P0 e3 D$ j, k2 ^9 C0 Pvar debug=false;
" [& v! O$ w) s! O. x2 Rvar CleanHideObj=new CleanHideClass();
+ m, v5 }8 i! j" N( R* D6 y! e& I& k# j: H4 D8 O, @) i X. J2 f
function CleanHideClass() : [' d; u- k) r6 W/ g1 i
{
; r" F4 L# o- D# v% i: m " B; `5 V4 d) A" c+ D$ [
this.on=function(id,bMZ)- {- H: N8 Z$ d- o
{
) B% z1 h! [) K, T: x * t( k3 v% j* i# Q1 Y7 C
if(id == 0)- t- d u% C" a) P0 {1 Z
{+ n7 p o, p7 F' d5 W+ [! y3 B
var page=/* document.getElementById("content").contentDocument */document; ( W4 L' ?( ^& W# K4 B) r8 U
this.RemoveHide(page,"span");6 D' s7 `& {8 h! w, R9 L
this.RemoveHide(page,"font");( h) t: p' |% ~# ^& M, H* A
this.RemoveHide(page,"div");
[1 {$ T4 X5 Y% ^0 Y this.RemoveHide(page,"p");" Y( U7 Z" W; [ Y
. N, a0 t& F' G& p3 x5 ]
}) M! x3 {; H2 k6 P- B
4 v: C5 t; J* W }& O6 ~4 B8 t+ a* C3 i$ A
this.getobjstyle=function(node,prop)& _# s% T& i* ~5 a: ?7 r. S8 x0 h
{
( C: g! T; k7 k try
/ O {( n$ [8 m1 _ {
, v/ c& d/ m9 ~# m; _+ R$ q return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);" S8 G& B- m: c; d
}
9 l' t6 F% B( Q) A catch(e). b; a* \. `- V: j" c/ H" O. ~5 ?
{6 E6 @$ |( j1 A/ H) l* }7 C/ t
if(debug)
3 ^& n/ E4 Y+ O4 ?; N& F& Q$ Y6 w {5 A' d/ D6 k+ w1 H
alert(e.message); ?+ j* u& D/ a, n% u) h# T
}/ @1 z( L9 [, x V7 W* J" ~
4 N" h( m+ {9 L2 A: o8 {; A- K return "200";& }+ N2 h1 b- G' u# x f/ Y
}
- @5 Z( i9 H& @* Q2 V }
% d: o: J o' x( L- S& u* K _$ i: o5 e: G* m) d
this.RemoveHide=function(page,objname)4 Z0 W/ A8 E& g N0 v R' V; s) C
{* b: l& U! t1 o6 p& [2 N) l
try+ g8 p! D: J0 f J7 U
{
4 s4 b1 e/ W# k& F0 B6 { var minValue=15;+ G; X; o8 n7 A. P5 c, {2 f
var objs=page.getElementsByTagName(objname); / X) J3 L0 h8 _* g5 S' B
0 T# W# O/ @% Y4 m" A4 G
if(objs.length == 0) " k; {, Z6 z8 v9 i( O% a8 I$ X6 h
{
! J2 n( i0 E% x! d4 [, }$ \0 H if(debug)
3 W9 ?9 X$ G& ^: {$ H: S) d/ } {: g' c. B6 q$ }, t
alert("no object found!:"+objname);
* M- ~/ K& b, j }/ `" c# Y3 W) f6 {9 I8 x+ t
}
/ B+ k! }* ]4 ~, W( t/ t. e; C: x: ] else
# N& m; r/ Q! t {
! B/ P7 x, M4 Q7 u4 T3 J% S # G' `5 ]0 q( d- E; h& } N1 c( \
for(var i=objs.length-1;i>=0;i--) 2 j5 e: N6 p& ], r( P) J
{; a% h2 i; E3 r! C! u. }
var node=objs.item(i); / e; y9 c- V: t8 N6 x4 x: b7 q" H
) p+ D3 i: Y- d5 u: {2 @: V
, V a0 Z/ k6 j9 C) D if(this.getobjstyle(node,"display") == "none" ||' i8 g* X# Y- F: C+ ^# F
this.getobjstyle(node,"visibility") =="hidden" ||
# U* c) A" [! R+ G! f. n2 { parseInt(this.getobjstyle(node,"font-size")) == 0)
+ G: x7 S0 v; W# V& r% C, ?% ~ {1 Q; M, E0 R+ T' N
if(debug)
; Q/ _4 E1 J8 {% L: d4 P {8 r2 P& S* W! C/ \8 F% V
alert("remove invisiable!");* N; u) a+ s+ j3 t. c1 a# R; f
}4 C0 _2 T0 x4 W# m. b; R( q: N0 u* g
node.parentNode.removeChild(node);
. C4 n, E) E- s" N) e3 ^
2 E& w+ A* n- w Y0 L) `0 G }, H/ }* ]$ f: b& ^ k% r
else & p: P E# U7 P
{3 X- X1 O) f9 ]8 q- K$ @
if(node.parentNode) 1 k- x+ o6 Y& w, B: r4 I
{: E+ l( ?4 q" @0 m8 Y! g2 w' U
var orgNode=node;
* h0 J8 b8 P9 C, O/ {( a) b' } var orgColor=this.getobjstyle(orgNode,"color")
+ x$ U# e+ k: F) m$ r var orgRGB=getRGB(orgColor);
2 ?6 ^. Z% k2 n- X! J o- } 4 v! I' A c4 `9 E, l: P. ?0 `/ \
var parentNode=node.parentNode7 W" n N# `5 n# e
var parentBgColor=this.getobjstyle(parentNode,"background-color");( I, b$ I3 U, c! p4 m6 C
+ O1 t Q) _! O; S0 Y var isLast=false;
+ M# n G' m9 G- K- q( o
* o. j0 j% \# P$ | R while(parentBgColor == "transparent")
. U5 d2 i/ H! K d+ v) t2 X" @. d {
& ^+ V/ \. J9 U/ Z- b$ T ( L6 d4 l1 r& Q
6 C& d, r- N2 x. V! h3 S
if(parentNode.parentNode == null)
/ ~4 i( h# x5 S: I ^9 M { H3 d( P/ p: ?0 O+ Z# Y' w
isLast=true;- A) Y( B: G( R0 L! V4 O
break;. W& J. u: w7 `' y. M& S8 ?
}
& Z) @6 R- z1 Z; J' [+ H- b. a parentNode=parentNode.parentNode;+ ?2 }4 a, c- X
parentBgColor=this.getobjstyle(parentNode,"background-color");. k+ @7 D3 m* k4 M/ q3 i
) |- H+ e, R7 U7 M" s: X/ B- w$ F
if(parentBgColor != "transparent") m. k$ ~" ?6 O& [. e4 \! |" Z& g
{* H0 R' w3 n8 }$ i/ H! ~
break;$ u; O3 B0 q5 B. y }2 J
}* z W; W. ?; ~1 V
}
5 g$ A! f3 R u+ z. p* B( c A if(isLast) 5 s; c$ k+ ?8 g' s$ {, g, n8 ~7 A
{, K; c3 D- l! H6 }" \6 t1 k
if(debug)
' b$ T" Y% p6 C' s {
# s9 b# I' i% k( H0 s- @: z. g alert("last!!");" u% \( t6 }/ W! e' {
}
/ `3 R+ C( \7 L+ x, }# K% ` if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
5 n, c* L# r3 l8 h) A- W {# F" b5 p" K+ N! V+ i- c5 B7 O
orgNode.parentNode.removeChild(orgNode); 3 P, r- x" E0 d: p
}
! Z: e) W/ T: j/ ^. F }
9 E+ o& ]' k; n0 \: T9 o" l else$ n- e5 _& u2 l: [: M( U
{- x/ v: E; T. n+ x9 H7 s- _3 K/ d- s/ Q
if(debug)& J* ^, }* u3 Z; S: t0 ~* d1 n
{
0 s9 p5 I3 h+ i alert("compare color and parent bgcolor!");6 y( S* f) n: d- c4 e% Q$ O1 \
}
2 y% a% ^1 Y) z5 T; @0 G parentBgRGB=getRGB(parentBgColor);0 |4 z2 h9 o5 y
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
4 L# B4 {: F; K& b' b* i {# q$ m1 w. K, Q
orgNode.parentNode.removeChild(orgNode); {) a/ [$ @5 P5 q. J' A
}
/ K8 {' F7 F& q# W i& H( g) V }
% }0 H- S F1 [9 M0 z }+ |( X6 A/ a" ^' O1 s. V% k+ Q5 k
}
/ q5 n( U. t! W& c }' R" k+ m& s9 _$ f+ I$ [: e+ W( V- _
} T5 J) A/ R+ H1 }8 b @/ x- j% j6 J
; }8 E+ g' n7 Z
q D0 e2 r8 O8 E var itemFrames = page.getElementsByTagName("frame");" \' F) m# Y$ {
var itemiFrames = page.getElementsByTagName("iframe");
. A c) y" a: K: o
; W# P6 ~2 H5 [3 L5 a: v9 {, Q& B var frame, iframe;
; f6 v7 E0 T+ X8 Q/ p: } if (itemFrames.length > 0)) R" u9 _! I- D8 T8 k1 ]! ?8 |! V
{2 n/ `/ _' j% D& a! c
for (var i = 0 ; i< itemFrames.length ; i++) # p Q8 d8 f `: W9 s
{
* B7 m# e( w* J7 Q! e) b K ~9 w frame = itemFrames.contentDocument;& X2 ^, b. `: {5 U. Z
this.RemoveHide(frame,objname); . }' g9 h8 D& E
}
0 \9 y7 ]8 r/ X S1 e2 g$ E& j }
. I4 ?1 C3 k& j' z* S6 v- d4 V if (itemiFrames.length > 0)
& R9 ~" V( r4 h1 e/ ?% ~2 k: x {6 W) E9 [7 G, o! w) z9 o" s
for (var i = 0 ; i < itemiFrames.length ; i++)
! E. B' |* `/ p$ B$ q @0 }$ J {! Z$ {! u# [3 m% ^; ?* x b6 H9 O
iframe = itemiFrames.contentDocument;# |7 p1 S7 h. K! `% R7 ]
this.RemoveHide(iframe,objname); 4 K0 x7 f* b& J: m
}& L/ ?+ W" U2 q# d6 G* f, g
}
& V' y+ Q. {) y& D$ z; V v6 ?/ B }
- x+ q# d% y. C8 w" H" { catch(e)
/ B4 T* D" y# n# ~8 H2 y) R {4 \( ]. _0 O( }
if(debug)1 S9 h+ b. q& V+ T) m
{
7 ]- R( t5 d% J% H alert(e.message);
1 g: q9 R+ M3 t: M }6 `2 l' g& Z8 M! ?' }0 @+ |
}
& g3 |# P8 P1 f* E# H) [ }( d( U) _: V' Z. ^7 f- I
" ?: G6 ]8 P6 Q; J
}
; u! Z; _9 E }# V2 E9 w4 a! H
/ f( G) Z* g9 W, mfunction getRGB(colorString). ~! E' |# F7 F1 _% N5 q8 }7 C
{7 N) P! v0 E' U6 b. a+ G5 b
var RGB = new Array;
( ^6 [# ?* ?( k W var tempSting=colorString.substring(4,colorString.length-1);( P' {: D& v! t1 n1 ?
var tempArray=tempSting.split(",");
9 D' m, l6 @+ J' D% h& }# j* G5 ]& Z0 y) y* u1 s5 n* _: p: l
RGB[0]=parseInt(tempArray[0]);
$ W. R* O6 k$ \ RGB[1]=parseInt(tempArray[1]);
5 L. R, U1 B% L8 B RGB[2]=parseInt(tempArray[2]);
1 p) R! c$ [$ |% ?5 P
2 e8 B8 o- `+ M, ?2 Z( |& m return RGB;
3 H; O4 D9 U: Z4 D}
( Y6 `/ H. q% \# i% g6 o' ^9 ufunction keys(evt)
0 @3 ]( ^( z4 o* m5 T) j { 5 {* n( k6 @/ i2 p; g: b/ l3 R% {
if(evt.ctrlKey && evt.keyCode=="81")
& P2 w- n9 _# Z+ d {
0 y$ T. r; |* e, z CleanHideObj.on(0,1);
) o1 j" b; Z) T9 F; D alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 X8 u" N- ~4 f 6 {5 u4 u F; A6 M6 U7 B V: S
}
8 k) @0 X, }& t: | } $ U0 z3 K6 M$ P2 C5 E7 k0 v
document.addEventListener('keydown', keys, false); ) p4 m/ s+ T0 n- W$ |. Y
GM_registerMenuCommand ('Clean Hide',- {* u( Q1 q# m# `$ Q5 E1 u6 |
function(e){
2 E# C0 M; a, `- K: ZCleanHideObj.on(0,1)
* @+ K( b) ?9 P) I9 Z5 k8 U; malert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");1 h7 R3 F1 v! {& K
});
& S7 R, l) i7 r6 X3 @ |
评分
-
查看全部评分
|