|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 " T7 k' c: N* T% {: E! H% Z
* V* Z0 F0 d/ N2 E. P9 S' ^
火狐插件,用猴子
; T y! A! k& v- @9 O+ @3 C9 I! C m
$ C1 H. j! U6 b( f) qvar debug=false;
& v) m% u( C) r( ~% e) o7 @) mvar CleanHideObj=new CleanHideClass();; \5 z& F+ R3 e/ F: s1 i' i7 ^+ @
I* R) ~, Q$ t$ r v' F+ j7 @: rfunction CleanHideClass()
6 X4 |, a3 d7 [* v3 B{ - v; n: w0 W' X
( j4 g. @9 k+ }; u this.on=function(id,bMZ)* ^: X2 v# m! ~( \$ C/ J
{
( s8 o8 K, @. G8 M6 f4 e
3 V3 C! N& F$ V: ~6 g if(id == 0)& S; Z. e/ O" @, {+ y
{
' B) j- `% C: r* x& T" z var page=/* document.getElementById("content").contentDocument */document; : S7 p- A; v4 W1 Y% t. a1 l
this.RemoveHide(page,"span");4 Y0 O# S5 R5 R4 n0 f: a: \
this.RemoveHide(page,"font");
: v0 k& I6 w8 N this.RemoveHide(page,"div");, F+ V8 K( x" y" \
this.RemoveHide(page,"p");
* g7 k+ Y. H3 u" ~ 1 P+ ^% z, T$ D4 i. ]9 q7 P
}; ?( }: O) t0 N4 r3 h4 C, l
$ I, p+ _, e* ^7 ]8 J. T
}& J6 [! W# n( {% s5 K. |' z
this.getobjstyle=function(node,prop): _7 S, d3 F) x$ T* Q
{. C2 j4 r( d7 d3 p7 A# n
try
. ^5 ?5 ~" A% P {9 \' Y3 E/ {, V; I4 q
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
7 P3 e( t% k: g/ @! M n- T6 B }$ Y' Y! M+ t' D9 _9 u3 P% b6 B1 `
catch(e)
7 K: @7 B4 a: a' O' b M7 G {( e/ o. z' D7 J- |/ y/ j
if(debug)' q( b7 Q% _ E6 L5 n
{
7 k, S+ l' ^* ^; v5 }: v$ C0 e alert(e.message);, C, D# ~1 I6 m3 @& T* p. E
} c% m6 D4 y* E* u" Q
: B S( |3 T2 A* m6 w+ M, ?6 C9 s: l
return "200";+ z3 f0 P# D' \# e2 g6 k, T" @, G0 h
}( `5 A& g4 R& I. |5 C' m
}* q6 `! X' G# s3 x/ [" b
3 P8 Y4 b" {: Z: E9 {; x
this.RemoveHide=function(page,objname)# A8 g9 _ G, t/ T- Y8 D
{
! F4 T& r D5 [ try, _4 g" X, V2 _5 {& c( b& m
{ g$ a( U4 \0 q0 S8 J
var minValue=15;
3 Q5 K/ \: J! e" M var objs=page.getElementsByTagName(objname);
- ]2 f( ?; B6 ~ t Q# Q5 ~" N
3 d x6 C8 h1 i0 r( b if(objs.length == 0)
# [& m) D: b# E3 r: `; L {: r3 j: V6 V4 t, M7 X$ l @: C
if(debug)
7 p5 i! W; y( F9 a1 {/ ?# }0 o {
8 @+ D7 ]" l! x0 r2 ^3 Q7 D alert("no object found!:"+objname);
0 s- _0 L. E/ l/ k4 Y) e/ ? }
, L" H/ H ^9 l' N# J- d5 p R }
, o$ `' }) C j else& c8 r' N. e- K# R- [) w
{9 J" o- P" n* h* r& C
. i0 I0 q- S6 u8 y6 m- b: { for(var i=objs.length-1;i>=0;i--) 8 ~8 J5 H L$ \) h
{9 t: d1 e% e. k, n6 N& o
var node=objs.item(i); 6 c7 U! m' B) H1 S1 m
: X/ T8 j) {6 j0 b+ |) X l3 C 8 Z3 j5 s; z1 U- R
if(this.getobjstyle(node,"display") == "none" ||5 c+ ^2 z* f$ W) }5 e7 `1 K
this.getobjstyle(node,"visibility") =="hidden" ||) R/ _: h: y4 Y. q3 D
parseInt(this.getobjstyle(node,"font-size")) == 0) 0 W2 C( l! Z m# p; e3 v7 u
{
8 l* l0 V& _7 b3 p$ G if(debug)
- D$ X6 Q8 E; ?5 O( c5 s. J {2 Z, n- Z/ S I0 c- L& T
alert("remove invisiable!");) J1 P$ K! ^# S( ?
}
( S" T7 M6 E r( h4 i1 F) }. r5 ] node.parentNode.removeChild(node);1 @& U5 q$ Z# W1 Q7 L
1 I4 C2 g! w% {, o% E; \2 G }3 \; {4 q0 r- w$ Q5 u; ~
else
; S; j5 k E7 l q$ {4 c1 W {* L- F% a( O! M" a5 l: I, A0 v
if(node.parentNode)
/ c% z) F, B! t! @0 F b {
9 p) u6 E' C1 r$ g" s' b var orgNode=node;# u* M% P! p& f1 O8 Z0 @# s
var orgColor=this.getobjstyle(orgNode,"color")
0 D/ w4 C1 `$ G6 J var orgRGB=getRGB(orgColor); ! ^0 Q g2 k; N9 ?, y: s! E8 u
7 |; {* T; \4 [6 K" y2 C
var parentNode=node.parentNode
6 P3 t& {/ u% x' c& W var parentBgColor=this.getobjstyle(parentNode,"background-color");
& i3 H0 Y) D% e) ?. s) s( W ( j& Q( l4 S, q5 P
var isLast=false;
! o6 g$ M5 h: O, X% M9 ` - ^" [6 v& e- }) x
while(parentBgColor == "transparent") 6 }5 ^% w* [3 u0 U
{
9 P6 b5 I( @+ b% r! W9 r . n( h0 ?8 l7 q0 m4 l; m0 ^+ x3 G F
# p" D& `# e% B3 D$ l' p
if(parentNode.parentNode == null)* [: _# ~6 q7 W. t! ^% o8 V6 X- o
{3 s# x( Q4 r: b+ g3 m( [$ C6 I- S
isLast=true;$ t$ M+ x2 O4 R9 i
break;- v! K" x& V0 s
}
% C! [+ y* O9 }( w4 O8 v parentNode=parentNode.parentNode;
% G7 z) L/ s8 S! O8 {% _ parentBgColor=this.getobjstyle(parentNode,"background-color");
; b- H. d1 L( R
+ D7 U0 m; ~3 G. I; g8 k if(parentBgColor != "transparent") , J7 O0 y( U: H8 K; S% @+ A
{
! |* `7 a- a0 a/ F/ f" c break;
( @7 K3 R8 i9 U- v8 K; [ }5 \' N6 C$ e6 J+ S' Q
}
* J" [. S9 f4 F6 c if(isLast)
; \. k) ]; c. S) T" D ?' G, [- r {# Q$ D5 l+ c& o. j) p$ ?( T' J
if(debug)
5 j7 g( ]6 E. k4 J' V/ r9 ]4 B {# u% m7 C+ q# F2 s9 s! C8 |& s- V1 ^
alert("last!!");
R8 |; h$ u$ k& }4 k }: z: p( Y1 c6 g# o: P
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))2 z1 ]( J9 ^3 j9 Q7 i
{
* g; v5 t+ O. F2 p9 W8 R orgNode.parentNode.removeChild(orgNode);
' s$ J; R3 |2 w& Q5 X& |- } }
1 M! P1 e ^0 G. ^1 C }/ c) Y6 t: F3 N: Y6 k2 Y3 X
else
: y8 M) y' K' h6 e7 R$ u4 G {
& ~/ c# c9 L( ^ if(debug)
6 I7 W. O5 @" e, M- S" H* M& \# `2 S% T {
2 b2 t) f7 e2 ~( v alert("compare color and parent bgcolor!");
+ g+ B" W! O2 \# z }: {* ? W' [6 B8 B1 d. ~; y
parentBgRGB=getRGB(parentBgColor);9 r# Y! j' h$ D3 {, P
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
/ m8 f/ h! b- [7 m+ v {3 \" J& `. S- O
orgNode.parentNode.removeChild(orgNode); ( n; W2 n9 ?9 B0 i
}. ~! z; n: A6 ?3 S8 A2 p, ^" W
}
# w3 r8 j% {$ ^5 ? }
9 I& ^9 `6 E. D1 M }
6 q# L1 @" T* o+ | }; ?1 B* y D: k2 b
}0 w. a+ z6 M( P j4 g
6 a) F' S5 r! M1 T& N" E Q0 K4 u/ u% a9 |) _2 L9 B+ @. d
var itemFrames = page.getElementsByTagName("frame");3 N8 m1 F! i" H/ E4 q6 N3 J
var itemiFrames = page.getElementsByTagName("iframe");
" v- B4 `0 Y7 w. a5 L( s+ C- e7 g/ l * B+ S! `! W5 v" W* D8 T
var frame, iframe;
6 P* p' D7 n3 h; t! A) I if (itemFrames.length > 0): L0 h" A. s9 Y! L% r& y: j, y
{
z* E" Z7 d9 F# [ for (var i = 0 ; i< itemFrames.length ; i++)
$ b( G2 y" P9 ]4 c$ l& I {. e( f' D6 B- Q* A6 L8 q1 l$ k# e! _
frame = itemFrames.contentDocument;
8 S* w0 |. G4 i, E/ e4 J this.RemoveHide(frame,objname); 5 C/ K0 z2 j% ^+ N
}
) V' r. W# H7 T }, _2 p- ^5 T8 O& G
if (itemiFrames.length > 0)) `2 A6 U, H! j& Z$ T0 C' u/ G
{
( _. @+ ]1 A, F6 {4 o% Z7 N+ E7 j for (var i = 0 ; i < itemiFrames.length ; i++)
* U- K8 u; D5 T' p( i6 u( ^5 m {
& a5 e `. k/ a9 S$ Y. Z iframe = itemiFrames.contentDocument;$ g; K) \7 R* c6 e
this.RemoveHide(iframe,objname);
0 n# [: \0 Q! W# Q9 X }
- o) l# w; Y. U' }& a }2 W/ |$ I4 Y6 q$ I5 p, d: Q
}
" v. e. [: V. E catch(e): v$ }8 ?0 A2 g, N
{/ Q! ^! s( q# j! y) b6 q
if(debug)) Q$ o, _0 H6 @* \6 N
{
: g' Y8 g7 r7 S" |/ k' m6 g alert(e.message);
5 j, S( \# @; A3 w }
; |8 M _, R, I7 L4 g }8 N' t- r t0 E0 c
}9 O8 D# X9 r+ t8 `1 |+ C
* f+ X* I; ]& _- ~
}& W3 \% \. Q& m+ p9 c" Z" m9 e
$ Q. S8 V7 [% z, F1 V n( \
function getRGB(colorString)
4 j% i( ]. m/ ~{
6 F; W2 a4 x; Y; x& d. @ var RGB = new Array;* S( s% [4 j! _9 J5 i
var tempSting=colorString.substring(4,colorString.length-1);
& U0 I. o) p* X% e# i2 \# k( R var tempArray=tempSting.split(",");$ ]) P) K I7 E5 h# a2 y
v6 ~4 W! `% J% @/ A" L
RGB[0]=parseInt(tempArray[0]);0 J+ Z, y' f/ K4 t- I) h# q# @
RGB[1]=parseInt(tempArray[1]);# D, k/ o' J* a4 N& x9 W
RGB[2]=parseInt(tempArray[2]);- S# k; }9 ?2 \% r( Q
: v% d# f1 E) p# i4 c$ A4 I: F* O return RGB;. a8 V: P6 s5 k
}
2 W! n( { q8 [function keys(evt)
4 X; V5 e8 c) V2 S {
# s. Z9 G! O7 R0 i+ k1 K' J if(evt.ctrlKey && evt.keyCode=="81") # L7 [5 p3 V8 i# d4 V
{ # w8 o. B& g- v6 T: A8 r( p
CleanHideObj.on(0,1);
) s7 U# Y# Q1 P ` alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
( B; z y+ X2 r+ [6 \& ^
/ n3 i, x/ e( J! l. B* f }
: g$ H% O- `% M+ ^3 u( M- r) g! d } ! g5 u0 K8 p' q% Y7 B: l. c
document.addEventListener('keydown', keys, false); - \; A% S$ E! K7 p! U
GM_registerMenuCommand ('Clean Hide',
" u' m/ B# l# T. G! jfunction(e){; _2 c3 R! o! h8 \
CleanHideObj.on(0,1)( P& X) Y @3 ~8 ?7 t1 Z3 C
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");( q6 I, F3 [+ X% t
});' [+ a3 C+ b8 S8 I* `7 e! t( Y
|
评分
-
查看全部评分
|