|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
* J- i X+ `7 F, H1 M0 V8 X
+ O g4 j3 N7 f( }火狐插件,用猴子* J% @! K; D9 ]# h" h
2 z4 \- {9 J0 qvar debug=false;
7 L2 P9 c) R2 J' Hvar CleanHideObj=new CleanHideClass();
a, s4 O- d! D5 D' x1 a# }; n" T9 v& r" Z, v) G
function CleanHideClass() 1 E4 h4 y# e r# Q! J
{ / W+ @9 W$ K, O3 e& {" e
4 z# `& ]3 B( h/ m# A# P% P! D
this.on=function(id,bMZ), J9 J* ?( k7 `$ t* q
{
! {3 N) Q8 C+ M' F ! |4 M5 L# Y1 J( o8 L
if(id == 0)
3 }9 s2 B; L1 o4 X/ J {. \+ K4 t! c8 d! Q
var page=/* document.getElementById("content").contentDocument */document; - Y( \' ~, k' P
this.RemoveHide(page,"span");
1 j ~( j9 i9 _3 z$ V/ a5 S$ D) Q this.RemoveHide(page,"font");
! R4 j( R2 @. Q4 F) A, [0 ? this.RemoveHide(page,"div");
. E, D- l8 x: O7 o; n% N+ _% N this.RemoveHide(page,"p");! l/ U! r. @) `
' U/ E% v1 c1 L# n2 c/ ?- J }
: A9 e, m: h. y4 l( m" \
' E* }2 s* }% M9 a/ l }
9 ~# z1 M2 Z* X this.getobjstyle=function(node,prop)
- u, A! ?1 I$ H: c* I& }) j+ F {
' @1 N4 p% Z# G" k8 l1 A% M# m try
& o9 |- x$ \1 J( H# f {' [/ |9 R9 I& M, Y- \
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);0 C, B* o2 g' ^# L, N
}) K* i6 S: `; b$ k, a
catch(e)0 |# v0 ?' ]: ~- `# m- \
{
6 M7 e6 Y6 q- F5 {- g. C/ C if(debug)% Q& Y9 u$ z# | G; m/ x
{
5 z$ M; s6 Y" @& M alert(e.message);
; d& p9 A* y, k) r/ t }
v$ m6 O0 M6 w: A, m. s
' d5 S, j `4 o8 m+ i return "200";
) C( B2 Y" e3 y3 r4 U& ?& ` b }
! i2 ]8 @& g4 a6 D( x; X }
) D9 N4 A c3 ~$ m& A1 {
$ F* N# t1 e; N$ k this.RemoveHide=function(page,objname)! \/ N2 }0 N) C" _) } m) r5 x
{
: f% A3 I) K% g0 y! p5 d try
- ^4 v8 P' `6 z( v- W: d {
1 |8 z! W8 w& y0 b& ?+ ^5 i" [4 J var minValue=15;
- C _4 |+ m/ V4 F var objs=page.getElementsByTagName(objname); # O. d: P. C* p3 {7 z. E
" n# K$ a; s6 `# ?1 N% b. E if(objs.length == 0) 3 n' j( w7 M# O8 d, ?! V
{
+ t# |: _" F5 ]! }7 Q2 Q if(debug)
5 ~$ s9 @7 s, A: C {$ \& d* c" L" S& ~& Z% D
alert("no object found!:"+objname);; J: j1 x$ d% M- t" a' Q' r1 u, w) D
}
# N: P/ H3 W+ k* o2 R. j" V9 `/ S }; }1 V0 s1 P4 e; T8 \8 R
else8 e$ G) s1 w7 k
{7 m9 k+ x) B4 E" _ R& U
% a& y2 s4 r$ L& L9 Z for(var i=objs.length-1;i>=0;i--)
( W5 r% \$ j, \: |1 J/ {) s4 ? {# B' }2 x( p3 L; M2 W
var node=objs.item(i); 4 t) J8 c/ ~2 e1 C" E$ j
2 d& b; I8 z4 U! x6 z6 Y
* D, ]+ j9 [% X7 h
if(this.getobjstyle(node,"display") == "none" ||
% D: y5 B3 B% B( @4 | this.getobjstyle(node,"visibility") =="hidden" ||
9 m' i" T3 x6 S1 ? parseInt(this.getobjstyle(node,"font-size")) == 0) 4 w3 W( ]- D* R2 E+ X) {* z# g6 J
{' ~; y6 } c: B
if(debug)6 N. ^$ J- R: U. s. O, f
{; r& @/ R' w# R
alert("remove invisiable!");
6 [% L L# Y$ l6 X+ g7 c }) `) h- @& B E8 I" T
node.parentNode.removeChild(node); r- ^9 \& u$ e) A& G E, Y( S
/ H" N3 B3 [. o7 Z( j
}
- z' N8 h( ^/ d3 \* i" _ else
0 H' O. J7 s7 k9 K9 _ {
! M% f( ~4 ? V, _6 \8 B3 A if(node.parentNode)
. o. X- V; Y1 V3 y* L1 ~; r& r {) M" P& G9 R" }$ g. n2 V
var orgNode=node;) S4 y- g: }( }
var orgColor=this.getobjstyle(orgNode,"color")
7 ]% p6 W+ d) F7 J2 S8 R var orgRGB=getRGB(orgColor);
1 s& |1 ?: J/ [ 4 x1 t+ e$ f! C; U
var parentNode=node.parentNode; G- Z* S" q8 W* Q6 n
var parentBgColor=this.getobjstyle(parentNode,"background-color");" u) [5 C# J! r' {/ p
% m8 h) w. k$ Q* g0 [
var isLast=false;" H- Y. {/ a* m' O- A2 U
$ j" X) T( P: N4 U: R3 S& v" G( R
while(parentBgColor == "transparent") $ d; }% @+ E7 i; c" F8 c \1 Q( h
{ r8 ?$ h8 Z4 p$ A
0 X% t' A$ L0 [% O5 w* G
/ g9 P8 O% m% w$ A& F/ o4 L if(parentNode.parentNode == null)
" `5 [5 g8 D( O- n7 j- E {8 T! o2 ?) i3 f X1 _8 t Q6 P/ p; V6 z
isLast=true;0 O7 q" O2 V8 P0 ]+ l9 {
break;# b) O" j; e' a f8 A2 O1 p5 D; n
}# M8 q- i6 \( c, I4 Q- ^
parentNode=parentNode.parentNode;4 E# l" i0 s9 M; z: W. i
parentBgColor=this.getobjstyle(parentNode,"background-color");
" ?& F% k2 a' c' x6 Y4 ~0 _" f6 F9 Y
& z6 U9 z; {' ~9 r if(parentBgColor != "transparent")
$ `% b0 |( p7 S5 \5 T {- G: _8 a( H0 t; [$ H
break;9 P6 m I/ h& R6 {
}8 p' K( ~+ D6 T J: M n" t
}- r* m G' y! p8 J
if(isLast) ( `: C5 _9 H8 B. t0 b
{# u5 v L. T" E
if(debug)
- [8 x, m" ]7 C4 a% I) J0 f; i {
& U# S8 f7 u: P- A5 v alert("last!!");( X% `2 @" ?7 c9 ?
}
/ Y2 O: W; B8 Q; _( T F, E% { if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))) W0 L* c5 [- Y
{* b9 H) @; g; T8 L( d' D
orgNode.parentNode.removeChild(orgNode);
* I% ~% {6 L! Q# I& f9 n. r }
( I- O4 @# m+ ]4 { }
7 V- H3 S0 P. B8 d/ @/ D else8 _, n0 X8 }$ J
{5 r5 E" E; W% j( \
if(debug)
d$ S: Y6 [3 Z {
. L% p; B( U) }8 I% D; f- d/ W alert("compare color and parent bgcolor!");
/ R! d4 O& d: E }- H6 s I6 Z$ N( f2 {. z0 a
parentBgRGB=getRGB(parentBgColor);4 n$ M7 i5 J. o: Q- |8 O2 t6 B
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
' v9 R/ Y5 Q" A% P* i2 q3 B {
% ~% i) n8 A0 k* @: H orgNode.parentNode.removeChild(orgNode);
3 m) k' }& F& N3 s' |" R8 _0 a }
( J8 L+ a- C* X6 z+ j2 j }% ]; ]! M3 a6 F% r6 @
} i2 @; M: ?$ v( `( Q( e
}( W' Q0 r( f \7 N' o: i! d$ t; ^1 B* A
}0 L* p0 p+ ]0 i' J: p5 J
}+ x7 w& u% @! r+ j( T$ O
5 a( I/ l5 y Z' H( x# J4 {
5 u: k' T, l: u; X: y/ r' s var itemFrames = page.getElementsByTagName("frame");% U9 J8 P k, a
var itemiFrames = page.getElementsByTagName("iframe");
& w: U, v3 n$ }+ p ) j* v; W! x9 S& G- q9 W
var frame, iframe; i# d: @2 f+ p# Z& e9 [
if (itemFrames.length > 0)
$ W' o+ ]: q4 A5 ?9 A0 @ {
0 P I1 V5 v+ Y: ?5 G% \+ B3 X for (var i = 0 ; i< itemFrames.length ; i++)
1 N9 \1 a: Y7 B7 O {% L! C# B% m9 U p& Q5 ~# }" h
frame = itemFrames.contentDocument;
3 N* [% o. K: N9 i this.RemoveHide(frame,objname);
/ N) k1 ^0 t. S/ E }$ k8 I- V- Z7 m. O; a) u
}# j0 y0 w& T# |* |4 N2 r6 ?# F
if (itemiFrames.length > 0)* E' I9 f" R! T$ Z: Q5 M4 U& g
{
; O: B! O6 q' d7 H/ ?) p for (var i = 0 ; i < itemiFrames.length ; i++)
3 R; s, Q* O+ ]$ G' U {
% q) C& T0 O$ Z* Y# C2 N iframe = itemiFrames.contentDocument;
6 R& x: [9 }2 P0 {& d3 L- F this.RemoveHide(iframe,objname);
( Q5 R, ^! I% V9 U1 e; s. K }
" |9 D: Y5 Y5 f* F# b- c, r }
5 I- k8 l8 g. u2 q7 g6 w7 y: } }
$ F& K* l8 a" j+ A7 K& a$ x( i! { catch(e)
6 P% b5 u( F# B7 D( Z1 E {
: G9 d3 N2 D0 I& v2 _ if(debug)
7 D4 {9 |7 {3 C; s8 J# T7 W {
* t5 F) w; t% {$ ~ x alert(e.message);
( s5 s; b1 U9 W( {, y }) M1 A4 a( e) n, _% ~! k
}
; F# N+ C" ~! V% s }4 g8 D! z! F( A8 `
! v* p# z/ Z7 l/ q" a4 E$ q
}# e) u8 n2 _" f; Z4 Z/ x- u2 m8 j
( d3 q4 ~6 o$ a* T5 T
function getRGB(colorString)3 {0 Y+ i. o% {. @
{. f5 g8 d1 w7 O+ P/ m n8 r+ b
var RGB = new Array;1 S m. |- U4 s. }& G/ l
var tempSting=colorString.substring(4,colorString.length-1);0 e9 [0 G5 `# `- e: P1 |
var tempArray=tempSting.split(",");/ k) Z# H! m2 T: J9 y" f
+ F# O' m( S& B% M, \
RGB[0]=parseInt(tempArray[0]);
+ o: j, h1 _3 n, e1 M* ? E9 a RGB[1]=parseInt(tempArray[1]);
0 F9 T8 L9 `2 l' O RGB[2]=parseInt(tempArray[2]);
$ M# c9 T. G" \' C- O: d* F
2 z' Q, s/ i8 u9 }7 I0 }4 S return RGB;
+ l$ ]. v. p! p$ _5 T: k( j& |}7 S: l7 d: X+ c! b2 L1 y
function keys(evt) 2 p O9 B% u9 m. h
{ 8 D+ q, s7 R+ z, ^
if(evt.ctrlKey && evt.keyCode=="81") 4 \8 l6 }- C" D7 W1 ]$ L8 O
{ 9 @/ G9 }: d) F$ n* Q
CleanHideObj.on(0,1);& L m$ `" J* p7 o$ U1 N) \
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); . U! u4 s0 ?! n d9 @
% J" P# |* [' |5 |4 v
}
+ N0 b8 G0 J# V% y" R& _ } 1 a* v7 K& K# d* p, Z; Z
document.addEventListener('keydown', keys, false); + i j0 k6 M" p# ]/ P! Y( e
GM_registerMenuCommand ('Clean Hide',
- ~ h4 D/ p1 j, p$ b# ifunction(e){
. N! \: O# L) z( ~7 M" ^CleanHideObj.on(0,1)/ b! R2 G% ^$ _6 U
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
4 m$ W& G! y7 x9 d0 a});* s1 ~0 y( s# s/ J1 n, |' I' f
|
评分
-
查看全部评分
|