|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 " _+ O9 ~6 i U
8 X: e: v' q: B
火狐插件,用猴子! \" C6 K" J- N7 T; A4 P& s
3 X* M; @/ D* O hvar debug=false; % u2 [; A8 @! l8 e
var CleanHideObj=new CleanHideClass();
$ z/ z+ Y" t% |# N9 \' k6 T6 P6 _- Q4 B
function CleanHideClass() ( N8 F$ N% h. j1 K9 |! }
{ ! k2 V; B% ~8 \% _
; a$ B0 N( W' W! `/ x6 I6 l
this.on=function(id,bMZ)
$ M& j% `& n4 c6 X- }3 e% v, ]; ~+ @ {
) j# L8 q2 c3 _+ W * A& i. ?$ K; I' b8 {; j2 u
if(id == 0)2 I U/ G0 B+ ^
{
6 p5 Z7 L2 H5 {' c) h) p var page=/* document.getElementById("content").contentDocument */document;
8 n% [$ T' S0 x5 s/ N! F5 h: U this.RemoveHide(page,"span");
1 N3 O$ D1 g+ h this.RemoveHide(page,"font");
/ [& q9 f1 B4 P; c* }6 h1 p this.RemoveHide(page,"div");2 z9 L( m9 x9 a! t8 x2 i$ H$ y
this.RemoveHide(page,"p");
. ]; A8 p# x, l" _& t 6 W- S7 z0 M' l& h
}+ R% W: N/ k! @
; e+ n6 A) W- U/ j/ O
}
( U& n- j3 T6 v this.getobjstyle=function(node,prop)4 r. j6 k8 r% k# R( t
{0 ~7 Q+ R- u0 W" j" O; f
try
$ c' d4 }/ N- A5 |$ I5 |1 y {
1 i8 C' W6 R4 [7 ` return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
, j) `! G8 q$ X( B8 w- G! B' S }) B# A" g' E @# U0 z( g8 i/ d
catch(e)
$ h+ F2 E( _7 f7 `2 D9 B {4 t$ f) x& B: Y3 ?/ S
if(debug)9 ~5 n. [( ~1 ?9 k
{
g7 R7 `3 u. d. E/ t alert(e.message);
& A" u0 h3 o% |1 m5 A7 v# [5 \5 ?% } }; H4 L+ p! T2 P% P9 T
1 h# ~3 c3 s/ D7 F7 T0 C2 D
return "200";
; ?8 U& v q L: V }: W7 T0 f1 S9 q: Q# c- _) X' r" t
}
5 `# Y5 A/ _/ [6 f k
' h/ e' T" s! e p3 b, e this.RemoveHide=function(page,objname)4 M% j( i+ n/ ?& g% z5 l. O
{
- s% }8 n1 O& }5 k try5 [ }8 A G$ ^* g) n0 Q
{
a/ E$ R8 ]* s& D8 B4 N d var minValue=15;1 B2 V" ]9 }# g! _; _( [2 m! L Z% s
var objs=page.getElementsByTagName(objname); 3 S X1 J. _7 ^/ c9 B# O
5 z# N% S0 S" j& v if(objs.length == 0) + I) W: R: K3 f* K& \, C. v- ]2 P
{6 r; Y Q1 K- k6 d2 h8 C
if(debug). a9 C% i7 [9 q0 @* J& ?6 v6 J( S
{
7 b' D: U) N* v- S8 Q5 a( B, K alert("no object found!:"+objname);
( Q$ z+ f' L% s }; ]$ M) k$ p% X, U5 [
}
. O4 n! V) @5 `6 v( u+ T else) f4 Y' ^2 h; l9 o6 K: i7 Q9 g
{
$ L' Z! x3 e) A) N: N7 {4 L " X5 r$ m/ X' ?/ A; c
for(var i=objs.length-1;i>=0;i--)
5 E2 V3 l9 ~+ ~7 h$ z% M$ ] {
* t, f2 q$ V! D2 c var node=objs.item(i);
[- @; `2 ~4 H, `& { n. g: }3 n / V w8 i4 U- ~0 u9 t' z6 y
6 I5 E- S+ H; ~3 F
if(this.getobjstyle(node,"display") == "none" ||: r* d% l5 W4 T1 B) E( [6 L3 F
this.getobjstyle(node,"visibility") =="hidden" ||
V/ z' ?2 ]+ G' j( @ parseInt(this.getobjstyle(node,"font-size")) == 0) / c- b; ?+ x& X I, A( D1 K; ?( k
{
4 ^0 A* F; `( z- ?& `3 d4 F if(debug)' w K T+ \2 m7 @; m( ]2 \" Z# V* f
{
# ?7 W1 `1 n# i) H alert("remove invisiable!");2 Z( v* V# k: ~
}9 m% B2 E# e' q7 R
node.parentNode.removeChild(node);
* G* _, h& f8 a/ m, T6 o
* v% F3 G: P: o, C8 p; H5 T4 D+ u }) D+ K# T4 |# S+ V1 H V( |9 B& \; V
else % E. T( e, h% j/ S1 _9 E. }
{+ h1 g1 c+ A2 O+ T$ [- Z
if(node.parentNode) - T) h' O% n6 ?( ~4 r+ t" `: w$ |- N
{
) v* y1 B3 ?+ O* i var orgNode=node;
* C4 ^8 ?1 @# A! Z9 r; W var orgColor=this.getobjstyle(orgNode,"color")- x5 z# M+ }9 p1 [; A* Y
var orgRGB=getRGB(orgColor); & d) y) G6 s* C, o( s" R
. X6 O, t: f. B0 [- J7 ^2 K" y
var parentNode=node.parentNode
: u. Z9 }( I: f var parentBgColor=this.getobjstyle(parentNode,"background-color");
" x% [8 z1 u- z' i S7 h' E7 I
& r4 `4 g. h; L' `& v( x var isLast=false;
$ K. M1 B$ g5 F
# N: c$ Y1 e0 y+ {0 v. f while(parentBgColor == "transparent") 3 {9 {: s! E! h' `$ z" n$ H* E
{
0 l% E: p% M, S* g9 a
, r, F8 \6 K+ i1 Z* c' H - s a( f; C, k/ G, m7 U
if(parentNode.parentNode == null)
% B9 m9 v' ^7 ~( L8 y# k; G {5 O$ X6 m/ O7 @! w0 Q% k+ j
isLast=true;
4 r; D% w) q* W, o" L break;' c z9 I8 q2 D# B- l- N; ?
}
) \* y& |1 h2 [7 a% K, \ parentNode=parentNode.parentNode;
- |8 t& n% f' m6 z% i parentBgColor=this.getobjstyle(parentNode,"background-color");
5 U1 H1 [. _$ x) t, _0 N0 ?4 A/ r: b
% ^' M2 y, ]( T5 Q. X if(parentBgColor != "transparent")
! a# c0 i* A$ G: ^% D: D {+ m {: M9 ~; K p, `1 y
break;
1 z( z. X4 B) b% M }
7 O! {0 O3 ~( a) |, ? }% E; Z1 j3 u# Y2 i! C" r" n( j1 M2 w) R
if(isLast) 4 x: I. A4 a# Y4 O
{8 H& y' U }4 G
if(debug)
" O5 p5 w" w$ z. z% G {1 l: v! m. Q# a7 R8 i
alert("last!!");8 O4 _ Z$ q% o. f7 m
}7 e. z' [9 p1 D V1 ?, U5 o
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue)) @* h+ }. O. w! N
{
( c2 F+ g+ d- a9 g* y% e orgNode.parentNode.removeChild(orgNode); 0 D9 [$ n5 D/ W4 f/ Z
}
/ ?3 N, X5 A+ k& h1 K: P }
/ v/ \+ ?: w; O0 V$ \. M else3 p0 h4 J+ c5 u0 ]4 o
{$ [6 Y) v7 K3 [$ H' \8 |
if(debug)
, r4 L- J- Y( K( @% { {* F5 P3 A7 ~; A F- Z- b
alert("compare color and parent bgcolor!");' z a) ^" o- G! j& s
}
' b' s1 N. D9 ~0 @8 t! l! Q* Y$ _ parentBgRGB=getRGB(parentBgColor);
- I X3 X5 m/ P# T if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) u3 k% D$ D0 n1 D
{6 H, d2 C& m& `$ c- j( e {
orgNode.parentNode.removeChild(orgNode); & u1 ?- i5 b6 L3 q5 G" w/ I& `
}
M3 X8 }7 ^ ^8 I2 t }( D: Z. z, J9 S, \% i; [& X3 F
}9 |* `1 ]* r7 n2 t9 k
}
& m. u: w- r( \& ^ }
/ r1 V# V) k; D Z1 y }
+ \/ Q: s2 D# S! v P4 L j 8 t+ i) a5 k' ]* ], U8 D" \
' w/ [% l, ]- Q+ X/ C
var itemFrames = page.getElementsByTagName("frame");1 O+ y% Z; T4 \( L: p$ w
var itemiFrames = page.getElementsByTagName("iframe");1 g+ o3 S! s: O7 m$ v9 F
( i$ Z ]7 a8 N$ g. m- O8 U( i. @; y' l, q var frame, iframe;
, U- ^2 j. H6 }- P. T& ] if (itemFrames.length > 0)
4 p& i% f" `: c% U' H {" E7 i; U9 i( y9 \) o; L
for (var i = 0 ; i< itemFrames.length ; i++) * J0 ]* f) Z4 k/ q
{
8 L5 l* b* `4 b. i- k frame = itemFrames.contentDocument;
. e! r1 ?- C$ f' x; m% n1 p1 f0 A this.RemoveHide(frame,objname); ! M6 g- F% _! e
}
0 \/ l( Z9 l# o M6 O }5 D6 G. S% I# q5 C7 V
if (itemiFrames.length > 0)/ |' j y0 K; R
{( k1 X0 r) o4 \+ } t
for (var i = 0 ; i < itemiFrames.length ; i++) 4 n9 I0 z8 s0 Q3 t8 W1 B
{
' g0 ^$ j4 m1 _- [/ L iframe = itemiFrames.contentDocument;
6 H! m% k0 d# r+ P, @, f this.RemoveHide(iframe,objname);
0 z' J/ N! M# _, i1 _ }% m5 Q) g3 W# w! N, T. a8 L
}
. Y' I/ n' u: O; c1 } }
2 @1 k- D$ f# l" k2 Q+ z& E catch(e)- w" x2 O) x* [: P
{1 `/ k& ^" i% W/ ? l6 Q
if(debug)7 z4 K6 l7 J$ _/ f7 j
{
0 o$ u! T4 _* o& y! }0 y8 M alert(e.message);8 F% M9 @6 k- t" I" D
}8 ]# U4 H4 L9 R8 [1 u9 r, z" ^
}$ |# I- B2 D5 G' q8 C8 ]
}4 g- ?2 M! [* o. h
! X, {& V1 |9 K& `+ s
}
g* U) ?8 b* Z) f0 ~3 b# E
& \5 e/ B, d/ P, Ffunction getRGB(colorString); N7 i% R/ D3 |3 @. B* D8 O( x8 p1 l
{& G" ^) M4 e! A' r) C; K
var RGB = new Array;
2 Z o0 q1 l$ O3 c/ ~, m var tempSting=colorString.substring(4,colorString.length-1);
) T! {! J6 Y& P' o* {: X7 X var tempArray=tempSting.split(",");
' [1 c4 ^4 a. b6 X0 T& w
% I7 K& c( F2 r D5 @# ` RGB[0]=parseInt(tempArray[0]);& H) V% o* j( ^4 l; R
RGB[1]=parseInt(tempArray[1]);
5 c0 q! ~+ C) Q7 W0 B { RGB[2]=parseInt(tempArray[2]);
6 g& |( p$ A; Y6 D
0 b; ^ r" L7 x5 x9 q; O return RGB;
! v f1 T; e) |}
: G% F& R7 S' m: @: x! f6 [) Afunction keys(evt) : U: n* T( g$ }/ Y) A3 M9 i6 t
{ 8 e0 t/ [# T0 ^! f: q! g8 e1 W! W" y) Y
if(evt.ctrlKey && evt.keyCode=="81") 9 J, Y8 y e6 U5 l2 g: [
{ / A3 J/ _; `5 g% t7 k& M( A3 V+ q
CleanHideObj.on(0,1);
: ^+ A/ Y4 m) ^" f: z alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ( s' e+ g5 |! \7 g3 ^ _: P
5 L, C: ?; {4 Y, | }
; J4 N3 B; F n- Y }
# O. n$ Z, g& V7 m: adocument.addEventListener('keydown', keys, false); ) D+ w3 [' K9 M& r6 q( f
GM_registerMenuCommand ('Clean Hide',5 k: E' Z7 K M0 B- u/ a
function(e){9 d* F) d. b2 y- ^5 _% T" k1 a- H
CleanHideObj.on(0,1)1 s% r3 j7 Z: C/ O2 L' @& w
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
1 Z" o. f1 k, e. U& B" |3 Y});) r5 b4 c4 Y8 d3 ~# @" G! y: p
|
评分
-
查看全部评分
|