|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 / o. U8 F# Q; f5 [( S1 ]! V
" f& ^5 m- ]6 x8 z7 Q
火狐插件,用猴子
. p( |$ ~6 q4 W1 j; o+ G
9 Y' F+ E, ` u' evar debug=false;
' _' a+ q3 ?" o! `: [& w) gvar CleanHideObj=new CleanHideClass();
* o v9 Y( \- L, y; _3 o9 N# ^- t* ]. h( T2 o; |1 ^
function CleanHideClass() 8 L- V( K1 Y( Y f7 M- E
{
7 O0 _+ V2 _6 Z) w
' n8 w4 u% \- _# G1 {- K this.on=function(id,bMZ)2 \+ s; ]% m& k# g2 l* T
{
' a. Y% ]; s+ n8 z0 g. [5 I
, L+ g5 [) H2 r if(id == 0)
& q7 F' H2 X! S+ j1 Z I {9 ^, r. _' r0 V: T# K- d- r+ X
var page=/* document.getElementById("content").contentDocument */document; ; [6 L& l) a) s& s# O
this.RemoveHide(page,"span");# R( I! c( a8 l
this.RemoveHide(page,"font");6 [/ U- N8 j, g+ F$ w+ k
this.RemoveHide(page,"div"); g2 s3 u" I! l( I- u& x% Y$ w
this.RemoveHide(page,"p");
* g1 {$ L4 z6 c3 ^9 V+ b! C ( v! K: s' f% y; E/ A
}
1 t1 K+ |# W2 [) w. B( `
' `0 `6 K; H* t' i6 M }* d0 {4 S4 S, o
this.getobjstyle=function(node,prop)
# @2 B$ p7 b# D# D: P {& u5 ]3 ^6 v" u
try! i' d3 X7 i& B# C: d0 c) y
{$ n1 W, c1 }$ V/ a
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);" i' N& X% W7 K' I) F
}* W9 u1 r& `6 |+ S* p0 q& g
catch(e): q4 |5 K# G" I" z" {( ?3 N/ B& L! K
{
: ^5 j z5 I+ _ if(debug)* O+ J3 B& C$ Z9 w, g7 X7 a
{( a& R, J! U+ X0 w/ K1 q: }
alert(e.message);
( P7 K# Q( m, f8 n# G/ {) ] }
7 X% Y. `! X5 X- x; S6 t
0 e$ s. a" e$ E" X return "200";
7 {3 |, T: r3 D' i- o7 _& T) i. ] }
" K, N) c1 R* J- \8 K* F }
& K( t! s( y! ? h , j' {& V ?1 U
this.RemoveHide=function(page,objname)
! \7 @& G! N, R8 |& @. a {
, l. l5 G5 v' }; G3 c try
" t, N; p7 @6 m; v% g# N {
0 ^/ F+ \: v- d- A; h3 } n var minValue=15;* r6 f+ p# u6 O+ l7 b
var objs=page.getElementsByTagName(objname); - h2 m3 P( Y; u+ {% B6 ?9 D8 e0 Y9 D
$ E9 T, V1 D, e if(objs.length == 0) 6 s! x- V) G/ m$ J0 |
{
% A3 {5 F: Y# E. | if(debug); E5 M) r3 j0 U* V
{
z- F) A Y1 Z alert("no object found!:"+objname);
7 s4 O' K! W1 L* [+ z, Y- L" f1 |: J }
; p ]8 N0 f4 j E9 _1 f }5 r5 J1 a" O M4 F0 j2 x$ p) P- ^
else6 E* Q) P9 D4 y4 w9 s: z
{
+ ?* g9 j0 u. A
7 Z# S+ E4 K) s; \ for(var i=objs.length-1;i>=0;i--) 8 P. T# `7 `# Z
{
5 C8 q1 c, y1 V var node=objs.item(i);
4 c6 i) b( h* g* q/ W0 s2 y - x* G9 a% |+ L, I( q
9 L3 M/ L4 ^' h, } if(this.getobjstyle(node,"display") == "none" ||
0 e" W1 x! w+ s* W" \. T+ I this.getobjstyle(node,"visibility") =="hidden" ||
% b* R% a0 w7 o6 h parseInt(this.getobjstyle(node,"font-size")) == 0)
# _+ m: D2 P0 q3 q& Z; p {* a0 ~6 _6 m) t, h& l9 u# X, i
if(debug)9 t+ R4 r H! R( D8 i/ r
{8 u$ i4 t& N* s6 U3 h% ]
alert("remove invisiable!");
. J, K7 S A- ~3 x }
, I7 j6 f) S4 }- T node.parentNode.removeChild(node);
3 h" x5 H e& c0 v & k# S M3 _% R, n
}6 B+ m# a# m' T5 r+ f
else
; S a( a! W" L- l+ ~" ]$ K A+ F* N {. M( i" L% R9 D( N$ A8 N4 |
if(node.parentNode)
7 M K2 |5 S' Y' J/ V {) g$ d1 p6 {0 \6 `% f% ]
var orgNode=node;$ W; s! n+ v2 U% t+ U; }
var orgColor=this.getobjstyle(orgNode,"color")
6 A$ d. S$ ^- u1 z, T" h var orgRGB=getRGB(orgColor); . T% u2 ~- V$ ^; ~: H1 C
0 n- r( _% a9 T& t4 @, ~7 e var parentNode=node.parentNode6 ?0 X" O/ L9 n- ~6 g, e
var parentBgColor=this.getobjstyle(parentNode,"background-color");
' W' m3 A& H4 W$ u& O( B # d$ }' h6 N3 w, [' u0 m
var isLast=false;
. B$ ~9 C, @' i % F' J( [+ G7 o# P6 Z+ b
while(parentBgColor == "transparent") " u: S; J* }7 r; K# e0 a
{# z9 z* ?% f2 j9 C4 Q
8 j; v% L7 x6 Y2 e! W' t
( B, G3 M. S4 B5 ]' G& J9 L
if(parentNode.parentNode == null)$ P* q& o& h. y6 Y( C+ y& S" V
{
! [5 f0 Y, w, N+ Y isLast=true;; u* ^. ?3 D9 t! o' K% D( J8 o
break;- O) g# S2 H9 t. Z4 P
}
" M" f- L5 A6 F- o8 N parentNode=parentNode.parentNode;4 I! Z4 a7 G- J
parentBgColor=this.getobjstyle(parentNode,"background-color");. |* s; F {3 D7 U V1 p* Q
- S/ v1 N, E: H4 ^5 c( e if(parentBgColor != "transparent") 1 z+ x" g7 u, T9 A( h" H
{
+ ]0 j& K( S4 o break;
! f0 n: y& Z N4 j }
* d0 L# @: F7 L7 U }7 r7 H$ }7 x7 J- a% S4 o
if(isLast) & |6 b& h/ S% R) N. i
{0 z$ P7 y% M; ~/ P& Q e$ Q8 B" q
if(debug)
8 K$ |+ G8 G* Q# X4 S {
4 `6 u" H* G2 W alert("last!!");* ?. L! Z8 ]0 _4 _8 a; N
}" s/ \, a6 ?& \1 Q
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
, O E) ?) ]) X6 G0 Q: Q& l { s9 R/ x8 j$ z8 _! l
orgNode.parentNode.removeChild(orgNode);
; z9 S2 r; Z1 x }
, C. b( N! V* f ~- G2 |3 e }: E9 H% s( o3 z
else
6 i6 E3 A0 k% l {' h W' Y! @. f) J" \5 y5 j2 V
if(debug)
$ n7 q- a5 V9 z+ V8 e' d5 X {, T( K; k9 P& {# z6 y0 c0 f
alert("compare color and parent bgcolor!");
2 P' m. I& x2 v# Q0 u3 z2 ? }& b& n. v" n+ B2 h
parentBgRGB=getRGB(parentBgColor);
9 B1 O: w, p1 ^2 d! Q if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))0 X" U6 c) K5 @4 Y* g1 B
{
+ l/ `1 \( m* i( z orgNode.parentNode.removeChild(orgNode);
" c' @1 v3 ^9 [8 n; } }
! r; d% {; R+ q2 }$ `! M) _( s }) n- u$ {$ R! g+ d* u
}! E s% w+ A" P$ ]' m& W
}6 h" P3 T! I: V% K1 m& U
}
% ~6 e& _+ Z! J( F& ?1 j }: A9 J9 ]% k, N r$ v9 n) n+ J
7 @1 w1 [2 R5 L6 V/ n* L * \1 t; C) S3 k3 Q& l% |
var itemFrames = page.getElementsByTagName("frame");
) f' W- f, _- W4 Z7 L2 w+ a+ Y) K var itemiFrames = page.getElementsByTagName("iframe");$ D* M, W: f9 k6 k; u# i7 c' T5 _
4 B* \. R* d. {. c) q var frame, iframe;
9 t- o! G+ Y5 O/ e" W/ r8 i if (itemFrames.length > 0)
8 @4 L* @* Z: p9 B {
, t( k1 [2 \( T9 b$ O6 l for (var i = 0 ; i< itemFrames.length ; i++) ) u2 D$ i! T3 R0 S
{
0 V: z9 ~6 Q& m# u( C, H0 C frame = itemFrames.contentDocument;
2 R9 y- O5 W1 v! e! O: N( p this.RemoveHide(frame,objname);
- R% b3 r' _! u+ ~8 t- `9 z }
3 f, W: P( i8 k; v }" ~' u9 I* J, T4 S+ H& m6 f0 [
if (itemiFrames.length > 0)
4 X( s' f; A: W. v! m4 [ {
5 l# f* s5 f% R5 H3 o for (var i = 0 ; i < itemiFrames.length ; i++)
& f. l+ W) U/ Z1 Y y7 ?; x {" Z9 g! w: Y3 p6 h5 O( a
iframe = itemiFrames.contentDocument;
( M1 Z+ E0 D: v8 C# D& n this.RemoveHide(iframe,objname); 5 ]( j3 }3 T! L! F& z- N6 G
}
5 g _5 t0 {, m2 k( R }
- i; w9 l# L) B0 Q }
# V) L' [3 ]; X; P catch(e)
6 j3 O& E) N9 Y x$ V1 n% D3 L {
( g9 g) I$ n$ C if(debug)8 q7 T/ Y h) v+ `
{6 l& ]" l; D0 B' k
alert(e.message);
* d& N# @! C0 E" C }
+ S }+ }& a( b$ q, P }
$ o F- }/ T4 J2 _* B }$ s! q/ ~8 {5 w! _
* V' d S- E+ W. |* ^& Q$ n}8 p( s9 `, K$ g
6 c% u9 e: X4 g2 z T" Bfunction getRGB(colorString)
. Q( `. m' q/ I{
T6 m8 r/ ?$ Q7 [ q% D$ P5 a var RGB = new Array;
T; n! Z' O8 K ~: F) J$ d var tempSting=colorString.substring(4,colorString.length-1);
6 R; A" Z' n: v7 `% _( w5 j E var tempArray=tempSting.split(",");
[. z3 z X0 w/ U/ e, m+ A1 ?4 M( Z8 x, B+ m k% f
RGB[0]=parseInt(tempArray[0]);5 U3 k5 u7 d0 x9 r3 ?9 z8 M. _
RGB[1]=parseInt(tempArray[1]);3 D! p' l8 d. e
RGB[2]=parseInt(tempArray[2]);3 P: E8 ]! W5 y& j' k9 [ n2 C
, i! \+ a" d$ R* T4 Z
return RGB;
# Z/ u3 `( G! D5 Y}
3 r2 K, P6 N6 b& n# wfunction keys(evt)
1 y8 `( C% \/ ?5 R0 p. t8 g9 v" Z { " `3 Q& B4 t" N) V0 m3 |" W
if(evt.ctrlKey && evt.keyCode=="81") ' o) k, r4 U3 Y/ i. f4 |
{ ) S y8 I+ L, f0 I# J5 a0 C
CleanHideObj.on(0,1);4 Q3 L; e' S# n; O0 S( ^0 D
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" \# F1 G3 \+ ~( g * U& h. _* R0 a! s
} : G# f! [8 z* M" z! W
}
4 _ f6 x% Z! Y* s. idocument.addEventListener('keydown', keys, false); # ~$ ^0 Y, Z9 {2 ]. |$ g
GM_registerMenuCommand ('Clean Hide',
) @; G# o+ A3 R# c M* Y/ P ]function(e){
/ f' f) k l/ HCleanHideObj.on(0,1)
4 \/ @5 ^: W. s$ x0 m% s0 ^alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");9 u' G9 i# X4 f9 J( j8 A
});
f" ^/ d* I% Q; E# K& d! _: ] |
评分
-
查看全部评分
|