|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ t2 Q* v3 v) a# p
1 k0 A. j; p, o) l% z火狐插件,用猴子4 x4 Y$ y- a+ \6 a( D0 N, S
# S2 d' K( v7 S$ R( S& i
var debug=false; . A% u; i& T9 O- I' L
var CleanHideObj=new CleanHideClass();
0 x7 t3 @; @0 X1 }4 `; t7 T
& Q% Q( O" m& L) X3 L) Kfunction CleanHideClass() & K3 H" S8 [1 |2 R( O3 z7 c1 |
{
% | M+ |- D- \
6 C- b& L8 e6 o: Z this.on=function(id,bMZ)
, j6 N3 k6 F* n+ M5 ?& b/ c {; @# h% f+ x. l o/ [
. z1 t( ^. i0 [+ {# G/ Y- |6 y
if(id == 0)
& \8 E9 N f# U* f: Y. o Y {
# R# P, T: l$ Y: Z% _% s8 [: ] var page=/* document.getElementById("content").contentDocument */document;
3 T: Z$ P$ P0 ~( _& C/ v this.RemoveHide(page,"span");
! \$ q) W8 C U7 q, L& _! d: f this.RemoveHide(page,"font");
7 ^( @ I3 G7 U6 F* w! U3 @) k( w this.RemoveHide(page,"div");
4 P; ], \( _% h" Y7 E2 x this.RemoveHide(page,"p");+ p5 W& G! R! U& e# b$ l
$ v+ J c$ I/ k8 @7 h! } }; ^4 y2 @1 m: q4 a: I
2 }- N, C; q8 Z. a4 z }# y. R3 V5 ^8 k" d+ ?! z# Z
this.getobjstyle=function(node,prop)
! E7 H2 |/ \/ m( z0 |( s {+ Q, s6 D+ L" B- g2 L @
try
3 Y1 R( E7 ?2 v {9 |4 Z5 ?' t3 p! R- V" @9 t0 Y
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. [- `) r ~+ s. d% R
}4 K- s5 Y+ u1 i, Q( L( [8 Z& d
catch(e)
, S5 ~; C4 ]3 a+ B5 h2 b0 @6 B {* l* c5 L) t& U# [& f2 ?
if(debug)
; D- X; D, D: } {
* c4 r4 V; @: \8 z alert(e.message);2 S {( \, a+ `* T: w
}
! k" W/ K! [3 X+ _9 y4 E: o- R$ y 0 @5 A3 f ]5 J
return "200";
8 F8 A& _& v5 B, p }
% F1 G" @5 j5 x3 Z" ^) d7 i }
' v0 X4 ~# j2 x& A& V# l 9 b, N8 ]9 P9 t+ a% T' b
this.RemoveHide=function(page,objname)6 r+ H) a) Z/ s, q- G% q2 r% [; F
{$ h4 K7 Q1 _$ G0 N- s4 v O
try
# j. p7 Q# ^/ \. z- N1 U {
b4 k' Y( e3 [+ L; g+ S var minValue=15;# ]8 \8 _5 {/ l$ X- e
var objs=page.getElementsByTagName(objname); 7 {* j! F- f" ] q6 z# ^
c0 |' F0 R! S) ^2 G& X- L2 j
if(objs.length == 0) ( k) b U5 X3 W+ m8 q
{% o5 j6 X1 n) t2 J+ u
if(debug)
4 b7 V9 e( n# O+ N0 @, U4 n {3 g$ c+ I! j0 V. e
alert("no object found!:"+objname);) Q# m1 y" k5 O3 B6 Y1 k: M p( w
} k( X; r6 a. {$ A
}
: _6 n4 S. d- N2 N. V; A; S* @ else" I; c2 f' k- s: ]5 \' n
{
6 @9 U% t* B! {8 J' H% ~, X2 B $ d/ N( L4 r, F- ^6 @
for(var i=objs.length-1;i>=0;i--)
0 H. H8 C7 r3 ?7 s+ _, c% ?# l {* O# \ a5 K) L( N# Q$ I5 ?6 {5 h
var node=objs.item(i); ) F. i& u9 r5 p+ p
) b: M/ p3 v. u( `4 R6 A
, \( p. \- X- o( q6 s if(this.getobjstyle(node,"display") == "none" ||0 a* ?; Q5 Z( } ]! P$ R0 N
this.getobjstyle(node,"visibility") =="hidden" ||
5 e0 I" X V8 B" O parseInt(this.getobjstyle(node,"font-size")) == 0) : ]# I$ P6 m$ | ^
{
[+ k# x4 A1 j if(debug)
& N) W P; P& L+ O2 c" _" s* f9 T { h) R' `/ a: t) \
alert("remove invisiable!");
: [3 f& _5 ?" k; }! \* \ }
& O% b/ ?* L( Z; F- { node.parentNode.removeChild(node);
9 O% b2 e7 [$ l4 {# o% j
9 u+ m" _/ J/ o4 l; v } G( n) }9 |8 I
else 6 I n" Z6 R/ t5 U1 Y' S$ `
{
& P: \. x9 \# d/ ^- {! H if(node.parentNode)
& Q% ?/ [4 c; ~* ~; D {/ O" O& h$ i8 r. L2 z
var orgNode=node;5 P/ i4 a( ~' u6 G/ G, F! N; M
var orgColor=this.getobjstyle(orgNode,"color")
+ z' s3 w9 _. l% r/ h var orgRGB=getRGB(orgColor); 1 ]5 S* h$ Y; m, Z0 [5 E
# {, h+ U# |5 R0 J: G" ?
var parentNode=node.parentNode& m0 V0 m; ~) |, X- o& ?6 {
var parentBgColor=this.getobjstyle(parentNode,"background-color");! S/ g- o G4 o* Y
) Y1 Q6 l. j0 T @7 d
var isLast=false;
0 u8 S3 ]5 F" F/ } ; ~' c6 K7 f- b2 _
while(parentBgColor == "transparent")
2 e" E7 `& A8 U3 }- [7 O% D2 w {; L" K7 M) `) y( s, m' b- T
' X6 z) w q/ N& A 3 U5 D+ \/ r w* {8 t
if(parentNode.parentNode == null)
2 T/ s" `7 s* A- W- q {% I. f1 y0 V+ ]: n7 O
isLast=true;
: X m, y3 |& o' w break; M; P4 e# m$ ?6 i
}4 g/ [ U! d8 \
parentNode=parentNode.parentNode;
4 ` F# c0 S0 m% a parentBgColor=this.getobjstyle(parentNode,"background-color");( A/ d4 b( F/ d7 Y4 @# ]; ^
n" P/ d* W2 [* w6 M7 N$ S0 m R
if(parentBgColor != "transparent") ( S: F2 [4 P+ h
{
2 U& z) O# r7 Y) s break;* V5 D+ {! S& J
}0 r8 [3 b' r; J+ a' T+ |/ g
}
0 D- \, c2 G: O+ R; _" p/ { if(isLast)
% J+ J4 K8 i: _% @! G {
, N. Q6 a6 a1 D if(debug)
3 Y% S+ B$ X! W( ]! Q, J; u" o {
" ]$ `- G" O2 X% Q. T alert("last!!");7 { T6 f% k; B
}
/ D, X5 `# ^7 e1 w4 f3 i4 z3 E+ S if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))" \- W# G1 T g9 O. k7 {
{% ^# w3 m( f- W
orgNode.parentNode.removeChild(orgNode);
9 j6 U4 w) G8 w: z9 r( B }
3 S7 m) f+ n, T& I5 F3 A }
8 l" r* E6 n. G else
- o9 L. T( g! g, N6 u+ N& ]9 ^5 r {4 [9 z" C" y: o. z j) x: J
if(debug)
3 e9 C7 v& ^# x/ M8 M# G& E M {6 d7 W" \7 X" V+ l
alert("compare color and parent bgcolor!");
; Z" Y" Q! D% C$ e4 ^3 H, j }/ F( o( [/ ]) q5 s+ w
parentBgRGB=getRGB(parentBgColor);
; k. Q' Z; X, U! H8 |9 h+ d8 d if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue)) U& ]- X8 v: v i
{
0 v1 I1 Z" q: d: [6 x orgNode.parentNode.removeChild(orgNode); 0 u/ J* F1 g5 [- q! U8 K. d
}: G+ {' z# ]) x9 o# N+ @8 @
}/ \, v( k* j5 `2 E7 `2 o
}# w, f; o# P. z9 i. s7 b
}' C% J1 p- R! |2 Z8 _0 c8 }4 x, n
}
7 P0 @3 `$ y0 i4 q. t3 J }
. H5 h6 V% ~/ m5 ?% z . Y) I' U0 F( g0 _! Z" x
3 @- w# i6 ^; m$ W8 y
var itemFrames = page.getElementsByTagName("frame");/ K- C8 C6 s4 g+ e
var itemiFrames = page.getElementsByTagName("iframe");
. X' D$ u6 [. Z3 o, V* \! k * Z! D. Y& L8 W8 ?
var frame, iframe;; i& l* c6 V1 ?* N1 k) p
if (itemFrames.length > 0)
f+ k9 G! p- p y2 B {
4 M' R1 W0 A4 f! s4 J for (var i = 0 ; i< itemFrames.length ; i++)
9 _# ~+ X+ l: ]! s5 U! J/ u {/ P9 b- ]% ]$ T( j& P, q
frame = itemFrames.contentDocument;1 A, H5 x1 o! i- u5 a
this.RemoveHide(frame,objname); : q- S8 `1 A1 A/ w1 a* u
}# Q* v6 N0 l: p& z( v6 |
}
, n0 Q- U; a7 k; P' a! @ if (itemiFrames.length > 0)
5 \9 }; J6 {, K/ b8 ? {4 {. k S3 l' Y/ u5 I- s& i* k$ V
for (var i = 0 ; i < itemiFrames.length ; i++) R$ D+ e5 C! S# b5 N7 M. n$ l
{
2 U2 W5 t( `1 d# M iframe = itemiFrames.contentDocument;& y( g# w; M& J* r; u0 A
this.RemoveHide(iframe,objname);
8 }( e8 p5 M# R7 E7 p' x$ w }+ |* O. L: Z$ F5 @% Z/ `6 w
}
* T, C" z( e$ b9 l }" C: P# j7 g/ t4 U ?/ o2 h
catch(e)
( A; ~- W/ w; m. ~* r- `* u# { {
% }/ ~6 `. a2 J! O4 F& K if(debug)0 K- ]' `# R2 l, D2 R
{
( L! U z# f8 H$ }, [ alert(e.message);
7 K. d* J- ~1 I }
% o0 z; E0 u4 w8 H8 Z6 I; M% |. n) { }
R0 b7 @8 l- j }
) M) Q ? O6 ^9 z- `/ |, B * b, [! Z- y6 f/ ]
}( f' O' a% m; S6 H% |5 [) y( u9 @
& v) {% r; x+ m/ r
function getRGB(colorString)
3 c& ^) x+ s/ V& L{2 W) z3 p/ f' ^0 |7 b
var RGB = new Array;+ y/ a6 Q$ I) B; m% Y
var tempSting=colorString.substring(4,colorString.length-1);$ S& B3 ^/ s* c# v
var tempArray=tempSting.split(",");
" u2 H( G# @' B( M* j# [; T9 g9 H! c( z u5 [
RGB[0]=parseInt(tempArray[0]);
9 X* w, u' [1 d% \3 W5 C RGB[1]=parseInt(tempArray[1]);
: B- a0 u7 j) ^# @/ ?- T, O RGB[2]=parseInt(tempArray[2]);
5 c! j, J# ~: P! J% _ ' Q, Q6 ~ Y( q/ ^
return RGB;
) u5 O% b4 C& \}
3 a# R" T8 q- Bfunction keys(evt)
8 H& j9 H" [# f! T }& Q {
4 c; |! d. F V0 S- u$ M6 U$ D! r( X if(evt.ctrlKey && evt.keyCode=="81") # w7 l1 Y4 v, { l/ _! M4 G
{
$ r1 Z1 D8 Y: f& K [: h CleanHideObj.on(0,1);" w3 x4 N: s+ s6 v+ A
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 7 T# l& l) r% i
# m o1 P! I- a! G7 P } * a9 ^$ s; S, C5 q( c, A5 F
} 9 A5 f7 Z( N' s$ M
document.addEventListener('keydown', keys, false); * B# l" _$ m3 Q/ k4 f1 x
GM_registerMenuCommand ('Clean Hide',- y4 M; v. a- ?, I
function(e){7 f/ F9 J8 w; I5 w# M5 f5 ?; a2 n
CleanHideObj.on(0,1)
) `3 l1 g& {/ salert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; q2 a9 \2 Z; `# D});
0 i- x5 F0 B. b) H; s |
评分
-
查看全部评分
|