|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
; R2 ?3 p+ W1 `1 B+ t. d
% v0 _1 M% v/ A6 p. B3 Q火狐插件,用猴子
/ R: l( o9 Y" G% x/ U0 n, R& g
: @; A' ~8 b' |+ T; q( _var debug=false; % e/ |+ D! R- i s% R
var CleanHideObj=new CleanHideClass();+ T5 W7 l# m* c4 h: p; s
2 i, w! V9 N0 `' Lfunction CleanHideClass()
$ O" O. F" D+ p# h/ E7 f& [{ 1 P' ]* |" e4 I4 C7 h- i% b+ r8 U
1 q) S( n7 y6 \# J1 G
this.on=function(id,bMZ)9 o+ |7 m4 u& D0 z5 \# E
{
0 y$ M* ~, _; ]* N. m. G
- ^/ h4 V6 e; _9 R4 b; `2 ?4 E& n* a if(id == 0)
% g ~# w8 P5 c6 h. O {$ X; x3 J5 B" k, _2 j
var page=/* document.getElementById("content").contentDocument */document;
. U1 |9 ]" i5 z2 G+ w this.RemoveHide(page,"span");
% e1 Q) |4 P, ?# T this.RemoveHide(page,"font");4 X8 N3 L3 C4 b7 k
this.RemoveHide(page,"div");2 x0 w3 b; A( p0 M* y: `# Z9 v7 p
this.RemoveHide(page,"p");8 a; q+ e" h Q/ o. |
9 n. W4 W, L& Z* Q6 u }$ e, B- E, I+ {* S6 n i O
- l6 H' O2 I- I8 O: ]1 P9 }9 j- |+ ^
}
. }) ~! [8 A; t" |1 I% E* r! z this.getobjstyle=function(node,prop)
% B/ j; i% U) ?3 C9 Z {
1 {! n3 I" B' s! I2 o try% j- Y. n- K$ h ^: e
{
8 Z) ?' r N* ^) p% g9 b return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);3 k4 j3 j0 h$ o' b
}4 j% L5 n, J7 S2 W
catch(e), L" G0 q# L: D, B
{
1 t' w$ ?/ ]7 N+ A F- ] if(debug)* n* u v3 m% v, o. U" \5 Y+ R
{4 Z* A+ ^; k3 G" C, V
alert(e.message);
: t8 ~% D& c% {+ V7 U; w6 n }
7 i; r# x0 a- B$ H & _' c( y8 s5 o% x. k
return "200";1 F$ g. t/ G) ^
}
3 D' R# E( O& G }
+ y# u8 @! x$ F% {2 ?) A 6 f* c" ~" v c+ `
this.RemoveHide=function(page,objname)
5 o; V2 a! c7 D {
3 W0 q6 S( @+ i* w1 q try
& e% y9 G% y0 D5 @0 O/ _ {' O1 Q/ e- T; Q
var minValue=15;: T* w+ q- R5 F V, i
var objs=page.getElementsByTagName(objname); + w$ j( {2 n8 v
2 M# X+ C9 I% ^ if(objs.length == 0)
, ^2 S- ?; x' b; @, |8 W {
# g \, D' C: t, y" _ if(debug)2 p. ~1 k/ X1 a; h. |8 R
{
8 @( S) H" ]2 w$ d1 }' ~ alert("no object found!:"+objname);
" k# o4 ^) k, w }
) r! X8 w. e( R5 I0 u+ V' }9 p, S }& L* c8 s# [ Y- P. n
else! f0 d) j% {2 B$ H1 w
{- w0 ?+ I9 N( H$ [3 T
) M2 I. V {7 K: z2 ?) v) w/ Q8 W
for(var i=objs.length-1;i>=0;i--) * T! l6 L' i4 C; L4 h6 O2 p
{4 d+ [) L7 m& e$ J4 E6 B
var node=objs.item(i); ( p' D6 X4 s1 f8 v6 b& L
# i+ u; c" ?7 s, E& h' v
p: w, U0 ^; L3 r M
if(this.getobjstyle(node,"display") == "none" ||& {% v1 e# `+ h: _1 _4 P) ?% i' A! l4 f: C
this.getobjstyle(node,"visibility") =="hidden" ||: D9 I9 X" T: ^
parseInt(this.getobjstyle(node,"font-size")) == 0)
5 B( q' v7 K) c \, A9 J3 ~0 @7 r {
9 U" J% C G; P5 x# {9 l d. e if(debug)" V6 k6 [ ~& @2 b8 K/ Q0 x: z
{& c! y+ @5 G6 |5 C* a
alert("remove invisiable!");% f* B+ f( R& z9 A7 B
}
, u& u. e& i% U* H6 x/ N+ w/ ] node.parentNode.removeChild(node);8 X! g1 b; B% L- {: |( k1 f) R
1 \- d. l! W: _) v& E/ ~+ o" Q }; h6 P9 B* {6 l7 b+ j
else & C( _: c0 K" L$ ^0 J+ L7 Y! e
{5 k' z7 [* y7 ]% }2 {& p% M. u/ k
if(node.parentNode)
6 {' p1 U+ O0 L j5 O: B5 n6 A/ {# H {+ J% A8 C( b/ L% }* L9 D# E
var orgNode=node;8 c) u4 I+ ]$ ]; P5 K
var orgColor=this.getobjstyle(orgNode,"color")
: h7 c% |/ Y! Y2 { var orgRGB=getRGB(orgColor);
! R+ Q3 q5 [7 N C 0 L, d: l# \5 Y4 v P ^
var parentNode=node.parentNode
6 b( R) H# l# L2 _8 x" v4 i var parentBgColor=this.getobjstyle(parentNode,"background-color");
4 k0 V+ a0 q( z3 P {2 A
. w, m9 {( o8 H+ Q% | var isLast=false;
& c- X7 i( w4 _/ l. N: d3 s/ A & ?4 e- \. e* r0 C
while(parentBgColor == "transparent") + v# |0 z Z+ u
{
0 M8 z7 B9 ^$ }0 n
4 s8 D# K+ Y8 J& L0 `; h: `
9 ?1 x) R! N8 z3 V if(parentNode.parentNode == null)
% A* S4 _3 h& b- {! |: H. M% G {6 q0 }, ]/ f3 G
isLast=true;
$ `/ a. y8 @! ]1 z$ }/ ~5 Q break;. h% a, h, {" s" {7 u U- ] V
}1 b% ~+ l$ v# Y; Q* H; O; M& s; L
parentNode=parentNode.parentNode;
- @7 z3 a. P N0 S1 d: t! ^9 K parentBgColor=this.getobjstyle(parentNode,"background-color");
8 Y/ I. m. f) H5 F2 _9 ?5 E u9 y
if(parentBgColor != "transparent")
6 F2 |, Q; O- N+ M/ ^ {( g( d! o% e% L" Y- ?
break;
' p% S% R* z+ Q1 m } A% Y5 d5 D$ Z6 u/ N' U+ u0 `
}
; }7 N& ]& e+ U# J! P) e if(isLast)
( D+ o( `& x. v. ^4 d, J {
( L. l$ U3 R; |& ?1 W if(debug)& B% F6 m7 O2 }6 f. d$ u
{
7 Z4 {% D3 Y! j; O, h A6 Z alert("last!!");
; n( b8 I9 R4 A: V- v }4 j% P/ Z" {* _3 t" b3 I1 _" k& [3 R& N9 w9 G
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))* V# `! a% i8 w) }& R4 y4 ~3 m3 X
{
) [% a: X- y& s8 o orgNode.parentNode.removeChild(orgNode); 9 n! |3 g0 C I" a$ G6 Y
}+ \6 c4 x! L$ x
}
' r; y t9 t4 A9 o$ b' ] else
$ r2 i% `$ F, d8 J- o! E3 z6 k; _+ L; L {0 N" ?, [2 ]9 F1 C
if(debug)
5 V* w6 N2 v0 z' e2 H {
5 z+ Q8 W8 c4 r: q& u alert("compare color and parent bgcolor!");
2 V/ Z0 j2 D6 k; t$ R }2 a R! O( _5 T# h) b
parentBgRGB=getRGB(parentBgColor);
" {1 W9 J( d! v7 i. n if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))4 f! N& L, V. k( A* R9 G+ ~
{3 b L' t" v! {6 |
orgNode.parentNode.removeChild(orgNode); 5 w4 m( l: ^/ C' f3 w
}
: K8 t6 v7 J% s. `; r0 ?$ L; j3 m2 l }. w+ C# b Q5 _5 Y
}
8 \; T5 o, U! y8 _+ T0 k }
$ Z4 l, t. Y; k8 D O5 E }
0 _$ P+ ^1 G2 z0 U. g9 G! r0 e }( R0 W- D) Z& R2 u- L' U7 _
M% Q) D+ q7 z; D+ n4 i
' D6 E! T @6 X. ^; S) b; { var itemFrames = page.getElementsByTagName("frame");
5 g3 m; E6 v Q) j9 i0 I9 J& ?6 q var itemiFrames = page.getElementsByTagName("iframe");
) `% c# t5 g0 V( u# ?3 N# d: a
1 K4 T8 d( Q( @6 Z% X1 e, A var frame, iframe;
$ F: X1 ?9 X" [; U9 e# n+ P if (itemFrames.length > 0)
! g* K, K D; A! Y {9 p+ [( G# G8 N0 Y3 g1 G
for (var i = 0 ; i< itemFrames.length ; i++) 1 D4 I0 x: K! k; X x0 b" r9 V/ W
{( i* g. h$ d8 T6 _+ B. P$ X; d
frame = itemFrames.contentDocument;4 V$ N% R0 ` a
this.RemoveHide(frame,objname); " [# l, k s; c
}1 k8 L2 V7 C1 `+ p% q1 M
}
2 Y* ~6 m+ g9 Z/ G if (itemiFrames.length > 0)
$ {) n5 S- V6 `2 Z {8 N# M4 U' Y5 O( d0 l4 s! d4 O* p
for (var i = 0 ; i < itemiFrames.length ; i++)
6 F9 C( J! R9 Y {# j2 H. ?9 P3 ~; c( I
iframe = itemiFrames.contentDocument;
. W- A" h3 ^! k i this.RemoveHide(iframe,objname);
5 e; s. a; Z+ Y. n3 U- T$ W" G }
4 n5 V- Z. n( W4 q2 K6 V }+ U& i. a2 l7 {5 r$ V
}
, C1 J2 S" P- Z9 j% r$ i8 ~ catch(e)
% Y H( b0 r, ]3 d2 R {
. I0 u2 u3 C, z% P if(debug)
8 z( a) }( [* x1 _% M# U( p {! H, e: C, _$ J
alert(e.message);& V w p- p7 b4 i$ Z
}
+ Y4 K2 [" b( l }* K, E1 o3 L7 i
}
3 \: ^5 z) b' v( F% d 2 ]# U) j$ i0 y9 H" w4 V
}
& l3 C9 U: B# U5 z4 p" x, e# Y/ r5 ]; s. H; q
function getRGB(colorString)2 W( C6 c3 v2 b
{
, Z9 z9 l0 M+ b8 \4 i var RGB = new Array;
( `2 P$ N2 b& Q" K+ q- v var tempSting=colorString.substring(4,colorString.length-1);' b0 \7 d" l2 i- r- c
var tempArray=tempSting.split(","); I) h2 J" w5 I5 |$ K, A, \
; J2 l4 D. }9 s! V
RGB[0]=parseInt(tempArray[0]);
# ~5 D" b- l- i4 U. W RGB[1]=parseInt(tempArray[1]);
7 q6 {; p/ q8 ?4 Y RGB[2]=parseInt(tempArray[2]);
6 I! z+ Q9 A+ N; m- K& X
L( d P p0 l, T! {, x return RGB;
8 [4 i E [+ w- h5 Z2 V; v9 y}# o. h% }# @& m6 U& C2 T
function keys(evt)
% M) R0 f& L1 p5 B2 i0 t" y$ J {
+ Z J; z6 |& }. g5 K if(evt.ctrlKey && evt.keyCode=="81") , k; B3 ^+ S& ]! h; H1 j
{
# x5 P% C4 Y) M+ s+ A2 v CleanHideObj.on(0,1);
3 {: b( r \% Z( G( X/ P alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
a+ V2 \3 ^4 ^, s! V5 \: h
8 t5 I2 k# `6 k' C1 f( Q } 3 M" U" X' K/ f- }: a+ v: Z
} % m8 H- v) [3 s8 N" ?: q4 Q
document.addEventListener('keydown', keys, false); , i2 |# P1 m. U0 ]' F# w
GM_registerMenuCommand ('Clean Hide',
9 h: r- F; s; j1 g0 f* Ofunction(e){
: t' z: \ m9 o% E& [/ ?CleanHideObj.on(0,1)
8 o3 b2 {8 ?: S/ g1 |: n Y& oalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");6 p2 c* F- {& `- U
});
! L! b( n/ |1 j3 U |
评分
-
查看全部评分
|