|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
/ ^. [9 V! Q+ D2 y7 J1 W* f6 r; V8 E3 _* n/ X% Y% a& k
火狐插件,用猴子
" {9 ~2 f/ @' U" a: D
+ x4 I9 e, y. W2 W6 r6 Zvar debug=false; ! k# H" g" u. R) C! O
var CleanHideObj=new CleanHideClass();
* M: E( j0 c. N$ \) n1 j
4 x% _( g, Y+ k6 E t3 A, [function CleanHideClass()
, Z: u# T) H. j6 n+ x. Q' v{
/ k) |% [0 |# I7 l" \ 6 Q4 ]( o9 y9 V# q- z* _7 P
this.on=function(id,bMZ)0 Y. e, R# ?: B+ D' r& }4 t9 q" p
{
- S9 Q6 x: m/ O
: z+ ?$ E/ @6 X4 D2 ]2 G) W if(id == 0)
7 K( }$ ?! `, Q+ }. @5 j {; k! A( \# v- ?, H" s
var page=/* document.getElementById("content").contentDocument */document;
; n( r: d! M" F$ p9 D7 o0 h6 J/ c3 _ this.RemoveHide(page,"span");
2 | m3 A1 }& L/ A8 I this.RemoveHide(page,"font");' {! m* h/ K0 D4 e( _. v
this.RemoveHide(page,"div");
# G! \0 T2 A. y6 Q this.RemoveHide(page,"p");9 [$ H7 g, w B3 H1 E7 S Z+ x8 z
1 B4 x8 O8 D$ i# j+ T% n8 F }
% ?# Q- B' R2 o) ?! t! [0 k; E- s
( D& ]. y' S& y+ e$ i/ S }( u( J4 H: j" s _, J
this.getobjstyle=function(node,prop)
" I/ D6 n/ Y5 M6 r {
7 c% J, G# `% w$ M" q8 j try3 ^* L( S, P- b9 h% X2 k
{
, ~5 v# X1 V/ N. Y. F: Z& _ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);3 ^4 B; m2 ?! j! {0 q3 C
}3 a7 R# ~% ~# T& Z1 B; e
catch(e)& e6 ?1 a4 ]. k+ d: D
{
# R6 v$ o- t7 y0 ~6 K& f* X& ~. [" [ if(debug)
- B( v( c2 Y4 G1 _( W5 o6 f {+ u+ o6 p7 C7 V% _& Z0 t `
alert(e.message);
! [4 t* p- u- {, i, h, a }
& q" S+ `8 F4 ^3 Y- Z( l* L; i+ K
& `: u! P# q" [( }% Z, b! Y return "200";" m* j2 _9 y7 m" j# l4 a
}
" {0 u Z9 U) C" K% f& h }
& m- U' Y7 h! t) b9 u 1 p& b0 H5 P" Q, e2 p
this.RemoveHide=function(page,objname)
5 ?* Z n0 z5 ^6 j {
- \2 N) J$ z. u3 n& D try) {* c0 L/ ]: i0 m' B7 u
{& b7 P" V/ o+ w4 S
var minValue=15;
9 Y6 P( b/ |% W' }2 O5 u* F. F var objs=page.getElementsByTagName(objname);
W$ I8 e1 o% _+ b) r+ r* E8 z5 R# S
4 p" V1 m! I+ {2 A2 C6 R( ], u if(objs.length == 0) ) M; V# {) B0 @' D$ ^, R) S
{# s# _0 B& b9 D. Y
if(debug): j$ c2 ?9 J9 R4 o" @7 V
{3 M) Y3 D/ s, P4 b' e3 E/ ?7 I2 q
alert("no object found!:"+objname);7 Z Y ^1 G- H. v1 V; `6 n
}
* X; X- {9 m+ m- o1 \) u" c }
: k6 l4 Q/ L0 }: ?) J$ s2 a else6 v4 r& H$ {* I9 Y* A3 w4 ?3 s4 r
{
6 ]! l6 f/ H( Q) a1 H# ^
! K0 y* ^2 I9 k for(var i=objs.length-1;i>=0;i--) ' a* {" S; |/ o/ ?7 \# m2 L
{( D- J$ D4 v3 [2 Y, k
var node=objs.item(i);
6 v/ E$ ~* C# L. A : x2 i. Q: T! s7 t5 ~5 o
6 v) f) v6 D' c" \" {
if(this.getobjstyle(node,"display") == "none" ||, W' q1 p$ r9 N; h, O
this.getobjstyle(node,"visibility") =="hidden" ||
( Y, x9 j, x5 @4 C4 F; f6 l; _" b parseInt(this.getobjstyle(node,"font-size")) == 0) , I$ Z: {% H: I
{
$ Y/ e X) z' m6 @4 q if(debug)
% ^( i [8 [% h1 r( z% @ {* g3 X- d" G+ y0 x& g
alert("remove invisiable!");3 `$ q2 n- b+ J2 e
}$ v2 j; T( A! x2 |$ E# b. ^, u
node.parentNode.removeChild(node);$ z3 r W0 d# c6 \1 F9 @
l+ v* L" l* N" l
}
4 B3 D4 f O+ d, ?' a2 }$ { else ) M3 _9 l9 C, I4 V0 a" L( r5 w9 ^
{
& L x' X0 `# ?) K. |6 T% o if(node.parentNode) # | W& v$ m L& Q
{7 i4 I& Y& w: r
var orgNode=node;
2 ]& U/ T& w+ U* Q7 R3 d J var orgColor=this.getobjstyle(orgNode,"color")
! C$ `8 ^, G9 [, l var orgRGB=getRGB(orgColor); * b4 k8 F2 j( t- o* ]
: H$ M7 }8 S8 {/ b+ N) A& r1 `
var parentNode=node.parentNode
$ U. j7 k6 h) l' J Z( @ var parentBgColor=this.getobjstyle(parentNode,"background-color");
3 g: t7 h$ A; r5 C. G" V
( w( O) W: H+ y$ M- V9 t var isLast=false;
1 V- C- p, y- s8 f" Y1 r
; ?8 H: Y# h6 K/ R: e( k. T while(parentBgColor == "transparent") ( t0 R+ ?+ y' P. y: A I$ C
{
% |5 s- M; a. F: Q; [8 h5 [: N$ J
# D; i& b# a, K( P, Z1 x7 Z) q
. @6 l! y' Q& ^; m, f" j if(parentNode.parentNode == null)
! f; l( q/ I# U% M4 V, q) P {: g5 `5 M! @9 W/ t* I, b
isLast=true;) C9 q% N8 L. V
break;
( q$ Q4 o9 {* |* Z1 w6 i% T7 o }- X) t- I/ b9 @
parentNode=parentNode.parentNode;' g3 j e" Z+ {+ ?
parentBgColor=this.getobjstyle(parentNode,"background-color");
7 d1 X4 [4 `# A) r3 A, `( Z
9 J- [9 U5 _/ ? ?) K5 W( x" E if(parentBgColor != "transparent") ( N& U/ @7 G% @" t
{
, n+ {3 r3 h/ N I" `9 A break;% {1 Q+ ~7 j0 ]8 i# i$ P8 m. Q1 n
}7 }' X' x( u6 C. K' }% w7 n
}/ H Q! J1 [' ]6 q: r) {3 U, w, d" J
if(isLast)
' J0 ?0 q6 t! s! E9 v {+ c8 Q0 D; }: |4 b+ N
if(debug)* i; ^1 k3 b, k
{
: x6 y4 z- Y( M/ d: G alert("last!!");9 F$ M# c, H$ B, p4 l
}
* B) D1 w! T& c1 h9 D if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))5 T$ G- L8 `8 s" l
{
& _: P3 N% {, |/ A& O orgNode.parentNode.removeChild(orgNode);
# z0 ]5 Q' _- K }
& T# T( S, C* v1 y: M: j/ T, {- i }# n6 [5 o; M2 e- T- |2 a
else' p. V, e6 \7 o- v6 m% B U
{
A# e2 l8 i5 K0 r4 B' O if(debug)
- s8 s2 D# F4 ` {
( S- S, @% Z5 S. O2 z) ^$ `. I7 G7 E alert("compare color and parent bgcolor!");
; E" K3 b, C2 f( j }
' p) J4 q0 C7 S0 m9 C% m6 P! J3 M parentBgRGB=getRGB(parentBgColor);6 O" u" n% b6 L4 O4 z
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
/ x( X4 Y. ?2 T# E: v {
1 G- k) h7 Q5 u: T0 k orgNode.parentNode.removeChild(orgNode); : A( _3 k1 F. B( ?4 F- O
}
3 `8 R4 T* s# Y9 q! E: `9 M }! r7 r S$ u8 m) H9 M+ M9 q
}/ K& m" D& O- ~8 U% W
}' o: ?; {; E, p- @
}
# \: |, I9 N4 \ }5 d" y5 c2 E l( N+ d$ S& ^
* p& K2 b/ s3 c- c, z; M( G5 |
5 u; G3 h, g" ^6 t* ~
var itemFrames = page.getElementsByTagName("frame");% j: [4 O3 D3 g
var itemiFrames = page.getElementsByTagName("iframe");/ D2 Y$ q2 w2 _( c O) Q0 G
& Q& r& }1 n. `. T2 a! s7 n/ ~9 P1 g var frame, iframe;+ i5 \1 U! ]; K3 ^( c$ i P/ [
if (itemFrames.length > 0)
{( S& B/ ~5 A7 ] {
: `- H; t* i4 ~4 | for (var i = 0 ; i< itemFrames.length ; i++)
+ x, [0 V+ e5 y% S5 ?" O6 P {
& T8 w6 j# ^( V9 U0 S1 Z5 V frame = itemFrames.contentDocument;$ E' v+ B$ ^+ P9 K& m* e
this.RemoveHide(frame,objname);
, C8 L% U7 ?' e2 ] u( c; X }
; a/ r5 i: Z% n# C, [ }4 e% S$ p% l& L. r w* d
if (itemiFrames.length > 0)
7 w$ i z! ]0 \) r4 M {
- y: j' G5 b2 \- n9 l. w for (var i = 0 ; i < itemiFrames.length ; i++) - L# e4 t( y- V- W, T
{9 J9 u2 H5 T) Q1 J
iframe = itemiFrames.contentDocument;8 M9 |( A2 u8 A
this.RemoveHide(iframe,objname); 5 U8 x/ g7 |+ v, b S
}
" g% ^1 E3 V7 N! Q6 [ }# m/ @& Z1 l" Q i
}
% a, @" @. d* Y. [' ] catch(e) a$ `7 F: y* n8 j/ x8 N2 i
{/ q6 }/ U" w& C; k; ~7 N& r8 w- i4 n
if(debug)
) q* x- N' R$ q* ]0 f {- h+ z& w0 {! Q+ o# x1 J/ t
alert(e.message);+ m4 q7 K( ~2 Q* m+ g4 ^, \% [1 V7 P
}; U; O* m t* y' _" w# i
}, I/ o& T, `$ ]+ ^# ?0 `
}/ b# j; X b9 U3 ?# Z
9 u' u$ A' D5 Q* R/ W}. p) t6 R+ y: M, v. y+ }
$ n0 G, b% n& G: S8 gfunction getRGB(colorString)
! s- S6 a9 z6 h% `- {' ]{
" x& x# e& F' M var RGB = new Array;
$ X6 J8 H3 [& T1 C i9 O var tempSting=colorString.substring(4,colorString.length-1);! Q" r+ S2 z) N4 s/ q) Y" F$ q4 f/ I
var tempArray=tempSting.split(",");4 T% [7 G1 a; R
- S, M0 \) e: w! `: k RGB[0]=parseInt(tempArray[0]);
1 x0 I6 h$ e! _: X' X2 {# O, D' U! g8 k RGB[1]=parseInt(tempArray[1]);
' X" \! {& O. L RGB[2]=parseInt(tempArray[2]);' A) @+ z2 `8 r2 e
; \, c* M& j d" ]
return RGB;
) x8 ~6 [5 W. s4 q: A" \}( n8 s) Z& a# E! }& |! E# f: q0 p
function keys(evt) ' Z+ ]1 W! G7 P/ y
{ # z* u3 i, | S+ q- i- j
if(evt.ctrlKey && evt.keyCode=="81")
$ {( w6 b/ i5 n# J2 d- W- G: ` { 3 z4 I# ~5 w: @3 s" D# W3 {7 e8 `
CleanHideObj.on(0,1);! _1 |5 `: t0 w2 u
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); i/ {! _+ |3 j! A. u6 ~
& {3 O" |, Y% C6 D0 l7 `8 {
}
: q1 S+ L: L% G }
: k9 m3 |6 s, sdocument.addEventListener('keydown', keys, false); K8 L3 u4 l+ B" K. d8 g
GM_registerMenuCommand ('Clean Hide'," n% i( m" ]5 p8 b5 q' U
function(e){# T" n( i+ }1 p! b* T* h
CleanHideObj.on(0,1)
* p, s% z" V* l( walert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: T2 ]' n1 c6 W% h/ q, S});5 c8 ?3 N' m7 q4 q. [2 N' h
|
评分
-
查看全部评分
|