|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ G0 m2 u7 a7 \2 C3 u& |/ \6 O# i* y
火狐插件,用猴子4 }9 q1 H# r+ x/ ]: I* {" m8 C! E
8 z* b0 |0 `3 U" ] `2 C8 B# ovar debug=false;
2 m% W. J: k/ I! W: e- Gvar CleanHideObj=new CleanHideClass();
3 n8 F; C4 s N$ u' W' n$ m& w; I+ p* e6 d8 ?5 v& R" n9 _
function CleanHideClass() 6 ^2 h G1 u% n$ Z
{ 0 s6 T8 |* h: _* g
: e2 ?5 y9 P& u% W* k' I2 ? this.on=function(id,bMZ)- `* N& [1 o) |3 h: D) H
{
E. O9 k3 U6 ~) X: V( H* L3 z& Y7 @ # M% d9 {. X* x9 b& |
if(id == 0)# J' W# r2 p4 a( C0 L7 ~. [' b
{4 ~7 G! R8 G i, N' w! ^
var page=/* document.getElementById("content").contentDocument */document;
( A- b0 G1 \5 ?0 a& h0 ` v this.RemoveHide(page,"span");
. _1 H/ q# u# |) z this.RemoveHide(page,"font");
% d% z# n. T# j# D `7 p' a* n this.RemoveHide(page,"div");* k4 c& q7 O+ b3 M2 n% g. W
this.RemoveHide(page,"p");6 g H$ d; U7 e
7 X7 Q# E' Z# C& D }
# Q+ X/ Y8 n& N' z9 A' M ) l% q2 n! V+ e
}
. W* H S Y$ R4 `/ G this.getobjstyle=function(node,prop)
" @' _+ z+ i5 y* e; m {
; g8 d% y4 ^# B ]1 T" c( ^/ j try: E' ?' D" c3 C( V9 N3 c: }
{% t. @6 W& ~ q7 B. M8 n- S
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# F/ z6 X9 B7 e5 M/ g; W4 v
}
3 m5 w! v3 U0 M6 c0 u x) J' v6 t catch(e)
# J) s+ q& p f9 @. M" R' R: } {6 Z4 p9 N3 c# E Y" C) d, u3 O
if(debug)
n8 M* _) X" \8 n {+ N. }* z5 s3 H! I! L
alert(e.message);
; j, V' ], b1 b/ N X( ? Z }5 N3 h! `' n+ P y9 D
2 H6 B; O& M7 N* } return "200";
" ^2 u) Y+ y9 r9 v: { }
/ Z/ r' f, c/ X6 u4 l8 J }6 r+ k# p: L: X+ W3 a
3 I. b, b8 B# u5 h
this.RemoveHide=function(page,objname)4 _! `& E7 k# E: D. Z/ f
{
+ P0 x& t* W! H try
7 ]9 V" t2 i; v {! b* M+ ?4 E) b8 F' g" w
var minValue=15;& B# R4 g6 g/ I& W- I6 P0 U
var objs=page.getElementsByTagName(objname);
+ E- p* B9 p% s% z, N
. O+ {) J# n3 m9 n b if(objs.length == 0) 3 k$ C: q2 y; y; F# W" t- L
{) h' {/ {( l& A: }) Y
if(debug)' ]$ B6 ?* p# R& | J% s* f
{, F1 y+ i- c# ^5 w4 I5 f7 k1 M! r
alert("no object found!:"+objname);
/ V: j: y7 U) Z6 h9 {6 u }0 f' J2 O2 A3 D" C6 f
}. L. p4 U& X; x6 Y/ d
else% o, v. g5 E; _6 G
{2 h$ u1 v" g4 a: z# G
, J/ S; L+ {# P; |: h% f for(var i=objs.length-1;i>=0;i--)
8 S1 d. j; J+ }6 A+ | {+ s4 u! g; z c, m4 m4 S* o: Y" ~
var node=objs.item(i);
9 a4 ~8 n0 x& q# H+ R
1 A$ ^+ z- H6 f. l7 b* u m5 I ; x4 z. Q- x1 p" U* M2 r
if(this.getobjstyle(node,"display") == "none" ||/ P. b. i- Q+ G3 X. `
this.getobjstyle(node,"visibility") =="hidden" ||
* b* a( S, a, y. b1 T% ^' w6 n parseInt(this.getobjstyle(node,"font-size")) == 0) 6 k4 F6 y- t6 v0 L+ V2 k5 c: P$ F
{
% q4 j, B& t! g* ?7 e& w( y3 N if(debug)
/ y8 j$ |! U% ?- N! N8 W5 l# ~2 K {
% O! p7 v; K! z, J' M- e6 u alert("remove invisiable!");
3 }. i8 q/ I# }; t }; ]% v( [& t) }/ o1 l/ E
node.parentNode.removeChild(node);( a& ^8 s0 o9 |5 S# L
% H9 k. d8 P: E* h6 @ }; Z7 S' e8 ~6 J, R) m! Y) q5 `
else 2 Q+ w1 A" `9 }6 T0 }
{
5 Q$ [: T# \. P if(node.parentNode)
2 i5 n: m1 n& T6 H {
) X" Z9 f2 W# ^3 k! t var orgNode=node;
$ Y4 P E7 a/ g var orgColor=this.getobjstyle(orgNode,"color")
, l7 u# g1 @* H2 b var orgRGB=getRGB(orgColor); 1 u; G2 Y& i9 d3 U$ i
' P: e" e8 F1 ^* r& i var parentNode=node.parentNode
1 k/ l! I0 y" @ A var parentBgColor=this.getobjstyle(parentNode,"background-color");! ] X% g$ }+ G1 v& p, Y8 p
+ h# e3 U2 U3 H0 |3 J1 ]. }' k9 j var isLast=false;
4 ?) t6 b' X; X5 {/ d# s: r2 M 4 h3 `, x- f# ^! R* L% o% _
while(parentBgColor == "transparent")
9 {: u/ x1 i% ?8 v7 x1 G { `& w3 R. Y" q( t3 T4 J$ E
) f2 F; p% q( `: |: @
4 Y K4 | m5 f/ u' U. H
if(parentNode.parentNode == null)
+ g( d; \$ E8 o# j& y) b8 O s# P { k: q( L, e3 K- T2 V! [
isLast=true;7 R. k# P: Y- y, B/ F0 }& W
break;
: X) y# x: l! [# Z4 h1 ?6 b }; Y1 `/ P% ~1 q5 ]0 m
parentNode=parentNode.parentNode;
1 Q6 ]6 i3 ?0 e0 h6 }% F parentBgColor=this.getobjstyle(parentNode,"background-color");
; w0 K4 I" u9 \3 K8 v- o! n" C
9 J, T* S4 X8 M& W if(parentBgColor != "transparent")
& ?3 L! L8 g- m {; L# M m& J! k# F7 n& B
break;$ n* x7 R, c+ `. ~
}9 N# H# j/ g& y! K- m* o) s
}
( C+ i( i& E8 A, ^$ z if(isLast)
7 b& {+ q, ~4 S" Q9 F" ]) C5 ?8 | {
0 Z% j( [4 w0 y if(debug): O3 ?# s3 m, f$ q6 b! x, }
{
+ R$ U% ~1 S( u v& C* N; q alert("last!!");
* w+ `& m6 W1 p! e" y3 ] }
5 S A5 j3 T3 [6 W! N+ X- x9 B if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)), Q. M" b5 X. |( ?# h7 @9 s
{
4 k, t' |9 S# `5 t1 b6 r$ R orgNode.parentNode.removeChild(orgNode);
* B% ]6 K- z: d5 ?9 F) u }
7 O' c: q6 b* R4 h }4 s! M2 r _6 v" \; i* v1 T, \, M
else
- u' U: D' r2 n* ^$ W. f; S+ c {$ d& o. X8 `# R, ?; F5 ^, N
if(debug)
0 h5 u/ j# S Y/ Y {4 f/ b, N% s0 T; D8 x4 ?) E
alert("compare color and parent bgcolor!");
; w8 Y' ?: }4 x* M) w }7 w" q& F4 r8 j Z; U
parentBgRGB=getRGB(parentBgColor);
$ V+ }& k7 q7 J9 i4 b @ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))* }% ~0 N q; e8 D: I# a/ N
{
) m& f" a$ G% U orgNode.parentNode.removeChild(orgNode); 4 u! u2 ~/ d) H9 {- i+ \
}
9 j$ d5 i( F: W# G }% @" V S: l) Y
}
4 u% |$ @" v* m% B }* @0 F% w3 m* }5 ?: ?5 _5 V4 a$ g
}' Y1 J6 r/ l0 I5 S9 M
}
+ ]3 I' I+ n/ ?% E. N) i 5 o/ G0 o& M, w- l, ~2 V5 n
0 y% w& |& o# k2 y* r! O' ` var itemFrames = page.getElementsByTagName("frame");
# v C2 s6 t4 m: m5 y' O var itemiFrames = page.getElementsByTagName("iframe"); F. l6 w0 c Q; y$ J7 {; F
7 Q! r6 @7 A b1 Z! n4 q
var frame, iframe;) Z/ k9 `- L7 J- W
if (itemFrames.length > 0)
( H% {+ c& u: c9 Z {
+ K( ?( T$ p& H& m# }, ?+ C& F; Z for (var i = 0 ; i< itemFrames.length ; i++)
6 E2 a# V2 [8 d1 b/ o {/ m* r0 m0 d5 F3 T) ?% N8 d# _9 b9 R
frame = itemFrames.contentDocument;
/ o0 u) B9 @2 B8 L* b2 L: } this.RemoveHide(frame,objname); 8 q, |5 P6 F! [* O0 U$ S
}
6 i3 n' m1 Q0 u+ v& F }
$ C/ @) @% ~, f: E% U6 ?' D if (itemiFrames.length > 0)! r1 ^' e* K; j) e
{, P0 Q8 _' z" s3 x; v/ T6 S" ?
for (var i = 0 ; i < itemiFrames.length ; i++)
. `9 P8 c+ D- G/ q0 U {7 Y# Q% K: p, q5 z+ w$ J
iframe = itemiFrames.contentDocument;6 Q5 [* q* p R0 h$ i3 j
this.RemoveHide(iframe,objname); + i# ]& \2 f) Q& _
}; D; j; D* T7 ^% c+ H! D
}, `3 Z4 D9 j3 s/ h' g
}
- j# R: `* \. q* O7 H( d catch(e)0 s0 \/ w! [0 M1 j4 {
{) v/ X5 Y. X, }* |7 s- ]* i x$ U
if(debug)
! x& o) ]- _' Q! `" [( f) O- K {; U& b, {4 I3 k* p5 T) Y
alert(e.message);
A4 L7 E. @0 C" j9 e }
- @8 d$ A, P3 n# J j+ f }
/ u7 f: o" D+ y& t3 c+ t# D }; W/ h9 j. R9 d
) G2 o# l6 m4 D2 f) S3 r4 J ^
}
: n* m9 w1 p6 B: E1 q/ c9 Q4 ^& h/ ]$ ]$ }' W. R- h* h4 \ {! |/ Z; T
function getRGB(colorString) y( [5 f* \ ^0 c( Z
{; f! d' i4 V A4 y) E
var RGB = new Array;
2 B- f+ l) H( {+ g# @0 o var tempSting=colorString.substring(4,colorString.length-1);- ?: h6 M1 V6 g# g2 _
var tempArray=tempSting.split(",");. T7 O5 ?# q6 Y, K6 b" f7 C
1 V$ _6 _0 I2 ]
RGB[0]=parseInt(tempArray[0]);
+ p' O; B/ C, W/ o RGB[1]=parseInt(tempArray[1]);
- p) _" m) H7 @4 p2 a9 O RGB[2]=parseInt(tempArray[2]);
( p$ b _. O& G- A8 p7 R) b
# n3 n$ V" `, ? return RGB;7 P1 _( \$ g9 v# _
}" J- d7 J) l) ?3 n
function keys(evt) ( L! t3 [! D" }& a& K# s8 A
{
' B5 g- Z1 r# p) ]# V5 l( u if(evt.ctrlKey && evt.keyCode=="81") 9 W% L& z+ K, [( F4 F' C
{ " \, u" b1 m( X# `, S
CleanHideObj.on(0,1); B+ W7 G# p' c5 M7 d6 K9 y* O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % Q( v* ^! O1 o+ I/ s/ P/ `3 Z
5 K% }; X" W7 J2 Y: k
} % z. t/ Y* F) j9 F5 x9 t4 x. z
}
7 G6 V, j$ M; i1 j- mdocument.addEventListener('keydown', keys, false);
" s4 g: J/ d4 t' z' c: S" {GM_registerMenuCommand ('Clean Hide',
, S. m4 d1 `$ w# }function(e){# C( O; J3 w$ @# m" ^; R$ a
CleanHideObj.on(0,1)
: C+ V2 _# J( I& F6 Xalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" g/ n1 u- U& w! G* p. G/ R. a});' |$ c0 _+ _) A5 Q# h. w
|
评分
-
查看全部评分
|