|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ?' P' I# g K
+ D; O1 i2 i! G; R3 Z
火狐插件,用猴子
: v$ Y/ U* U* M
0 Z8 }: M0 R% a) D* V. S) Vvar debug=false; 0 T& e: v3 X, f4 F' |. [" J
var CleanHideObj=new CleanHideClass();
6 D, }" G8 u, k8 a
8 H5 \( m' m' L9 g# j' a( f9 |function CleanHideClass() * }6 |' E; G/ i) G) g( a# B7 Y8 E
{ o* q% Z q+ G/ t$ l* w* P, F
* Y5 Z1 t" Y5 z* ]+ O7 ` this.on=function(id,bMZ)1 a' J! y4 y: B5 n
{$ i0 y) s' l$ A. r3 `7 J
. n2 P4 Q, `0 C. F if(id == 0)
7 l5 I, b5 L7 O# R {
& x4 j$ N) e, i* ] var page=/* document.getElementById("content").contentDocument */document; 6 q- J" W7 X) s- u/ y9 R' @
this.RemoveHide(page,"span");
5 u! A9 s: X+ ] this.RemoveHide(page,"font");
% p" O' w& G6 _& ?4 R# P. Z this.RemoveHide(page,"div");
1 `, H, y, _7 L# i: I6 Q" [ this.RemoveHide(page,"p");! l7 {1 N) p( n( o( r
% x( @7 y3 } K% g1 l
}+ t- I% a5 m8 U& g/ a
2 E" ~5 ^- v- B, N7 A3 L0 k" ^) n
} u5 X9 q( Q$ m! L& E t" [# S
this.getobjstyle=function(node,prop)
; W5 i" w/ A( z+ y, }5 }' o; a {
& d& i$ R1 n2 c) O, P' C) _$ V try
$ l7 ~: r& o1 ?5 g) K( P {
; z$ z. t9 R# b return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 H1 H) P. |* u$ M" a
}$ y* l" }' a" C
catch(e) M4 s& g) V2 L$ D" ]; J8 u# Z
{
: ]) J; ~8 Y/ Z% Q$ H7 `( T& x if(debug)7 S* P" z2 I2 D7 p3 F+ f
{
1 f' z) U+ V. b/ `) B' J6 i# k alert(e.message);7 B; J- S% ]9 f8 w; _2 B! o) O
}& v: [; V" P; g4 Y9 `
( v, e+ L% o. N" V return "200";8 y- p: p) y# U9 o0 `6 z# q$ }
}
2 S3 H* f/ v- E! H5 M3 k" e0 J, F }
" K5 g/ H5 o* f2 ]' j
; F) I/ n) S9 h5 W! b) W2 }5 J this.RemoveHide=function(page,objname)* X9 t( m; ?! q: E3 @
{, D( ] h% e- C# x( W: t( y! a
try' l' K& V9 t% n6 ]
{
3 |+ l! w7 b# F$ x' | var minValue=15;0 s0 u) e: ~* r$ k/ W( w; f, v4 ]
var objs=page.getElementsByTagName(objname);
! q$ B" ^2 X' N; F5 t' G' i/ H) \! T: x* b
if(objs.length == 0) 7 T/ |9 L# ]5 d
{
8 p" `( t) B* K- x if(debug)
0 _& \/ K- o( B. w, D6 t' [4 j {
4 g( m x$ ^5 q% R! p5 f alert("no object found!:"+objname);
% n: }( f: S$ S8 s/ e/ `# j }
- G! ?8 {) @; J" F6 ] }0 _) I' c: ?+ ]) S: g
else
$ z" F1 ~1 w. `0 z& n# t E4 m {
' I: U' E' c( A5 r2 V2 k; y+ g ) X8 N$ M" J; k8 N: g! Y# [
for(var i=objs.length-1;i>=0;i--)
+ A6 C1 ?% Z$ e. ~& C& _7 e; G {/ @6 z1 M3 @! ]* `: @" w, U
var node=objs.item(i);
, `' q& w6 s" j/ _+ b9 `, u9 [, T
) `8 F8 E' G, v1 j7 Y , e; i: a7 x+ L4 Y6 @
if(this.getobjstyle(node,"display") == "none" ||
5 f5 E5 q! {6 h/ h; c7 S; D this.getobjstyle(node,"visibility") =="hidden" ||
& a9 C0 \ [; {/ X parseInt(this.getobjstyle(node,"font-size")) == 0) # O+ m" S4 H7 Q. b. d9 g$ p# i
{( A9 T, m( K7 |& c
if(debug)) Z1 B( D' O% X0 g5 b
{0 m& R& y6 w2 i, q" X/ t' K2 X
alert("remove invisiable!");
7 u6 T& t! H+ L- k- O& t }& e. b0 n5 L/ V
node.parentNode.removeChild(node);" |% c3 O: h7 L- \0 n; Y6 v
" w% u) o! L4 Z3 e4 p% [7 w }
[$ Z: V0 y" d9 e% K# \3 N else 1 S3 Q" m* u8 N' R3 R( [
{% Z9 J/ }! ]! H+ P! H
if(node.parentNode)
, b% `( T$ A2 G$ l1 }+ r { c/ J. M `+ v
var orgNode=node;
- S8 _1 E/ g6 `# u3 V o \ var orgColor=this.getobjstyle(orgNode,"color")7 I# J) K+ v% C2 @8 B( {
var orgRGB=getRGB(orgColor); : K3 f2 n+ c# w$ T2 w
" `# Q. e, w0 i+ }5 |# D, X6 x6 z var parentNode=node.parentNode8 W& M1 I. z0 k/ @8 f9 U
var parentBgColor=this.getobjstyle(parentNode,"background-color");% r- M. d$ j% {4 Z% S; u! @ K% x, V
$ u$ O( n, t1 X. H) _$ m7 T( Y
var isLast=false;3 _! w" T* G- A$ r& p! l
q+ @ w5 N! h
while(parentBgColor == "transparent")
# h B/ x( y6 k4 N! U {# k1 G" i& O+ x0 p
9 R, X5 w* {( D" n3 c: R6 Q: G
7 z# c9 R3 B% ^: d9 m' x' E if(parentNode.parentNode == null)
# _1 W" p W: r+ m3 o! U ]9 y8 ^ {
8 j+ h* q" u0 I5 S) ?, t0 L1 C! w* n isLast=true;
2 D0 ]$ w8 ]! ~( h" c5 B# Z break;
}; O' A) `6 l v2 i* E3 O/ z$ U }; f; x8 G/ d; H% l
parentNode=parentNode.parentNode;
( W: s3 ~/ _7 I7 n, S- ~9 T* X parentBgColor=this.getobjstyle(parentNode,"background-color");& {8 M2 I3 ~: C
. z# o3 }& J7 p
if(parentBgColor != "transparent")
4 X% q& w4 [( S {
1 j! f2 X( h5 C. [ break;1 h5 T3 Z+ J e) o; S( n
}
2 t4 u0 G% o2 t) E, \5 H }( S/ Y/ v n. k) @7 B m5 q
if(isLast)
8 Z, B, p3 [. S% z6 V {- Q) o8 K' e4 F, q
if(debug)
0 S7 H% c% w. O N {
% t2 K0 N; Q- A: C: M alert("last!!");& b" A0 G% H* v* G4 H m; [
}1 V& O7 s( h/ _5 h7 q
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))* h0 P+ T$ P! h5 ^6 ?
{
) G7 h3 [( K% L orgNode.parentNode.removeChild(orgNode);
# h8 M& \5 l8 g) x2 ]% S }
1 q! ] e2 Y$ n. s/ m1 R2 w }
5 \; X. T: k, e2 }6 a! t$ f6 r; l else
8 S+ `- ]) H( P" M* j9 ~ {& H( w& |& I: j$ n9 J
if(debug)( _- S3 o! j) {# L9 p a) y
{
4 e* A+ c4 m" Y- y+ E alert("compare color and parent bgcolor!");
6 P. R$ t6 l! s1 l8 }. A }* T2 c. r8 ^( ^3 K4 d6 H; o
parentBgRGB=getRGB(parentBgColor);$ z" F" H% f: g% q
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))* C" W/ r% [* ?2 C* b4 f* Y6 {
{
4 @" j! H8 Y% u* D! r( x orgNode.parentNode.removeChild(orgNode); + Z, Y7 v4 b3 j3 A! o* M
}
5 I U0 o7 ]) K4 M2 x. I5 J }# o* ?, ?% e* W, H$ h
}
1 [3 S. x3 ?! z1 Z7 W3 D2 L }7 ?9 `; m) T% Q/ ~+ a3 J8 [
}
2 q8 [& D3 w! [; ~4 L }
! U9 w+ f& f- e( K2 w
8 h% B1 K, d5 B % x K" l; p8 i3 O
var itemFrames = page.getElementsByTagName("frame");
9 K& k7 z' O ^# `5 @ [ var itemiFrames = page.getElementsByTagName("iframe");0 J% i8 M+ L. \' n
) J, K2 R8 g! R$ i9 ` var frame, iframe;7 L0 `/ B, n1 U- c
if (itemFrames.length > 0)! ^- b1 P5 {$ C, F3 c6 y; ?
{
6 h8 N5 V1 F# _* g for (var i = 0 ; i< itemFrames.length ; i++) 6 k& p2 }) x$ H% r. M# v
{8 }' @4 b- L' G5 O
frame = itemFrames.contentDocument;
* b. n, ^$ m) ]" \# I) q this.RemoveHide(frame,objname); . Y# k- G( Q9 u% ]5 d
} r j( d9 p$ D0 M5 A
}
) {' k) S4 O- t2 g8 V* t* ^ if (itemiFrames.length > 0)3 }) ~6 U* Z/ l ~* w
{9 p6 n0 h( K" o( Z T1 P
for (var i = 0 ; i < itemiFrames.length ; i++) 5 k) W/ h W& S/ c, N5 |; x
{7 L* A' c3 \/ z6 p
iframe = itemiFrames.contentDocument;, Q; I. |: Z8 [
this.RemoveHide(iframe,objname); : H. P" f) }9 O/ z, G
}3 N \" L v" V$ q+ I
}
, b/ ? H5 b* E4 U: d6 } }
3 ~4 V/ a5 c* O( P# M) P catch(e)
+ u5 S' m2 ~* J( ]& r* F$ L {
+ w: K0 @2 l7 z- m/ P if(debug)- I( x8 p7 E* D, O/ B( [
{
- l! R1 N2 U {5 _0 ` L alert(e.message);4 M; a; E' x$ x+ M+ y3 G" d" a
}4 X7 r8 X; Z; P) L$ A7 H& M
}
7 @/ O& G& e( ]- y4 F }
7 N+ Y$ A( G5 G! Y & F6 K5 f- n6 l5 w) B$ C y9 q
}, W# |/ C: y4 ]2 M; g
& e2 \% Y- {% ?% A {- q
function getRGB(colorString)2 G3 r5 `- R2 @9 S( f/ o( G- i
{
6 z3 I' X/ k6 ~, T var RGB = new Array;$ |# Z: \3 ~$ I! h
var tempSting=colorString.substring(4,colorString.length-1);( q: Z7 w9 Z; _; p5 b
var tempArray=tempSting.split(",");* e0 J+ L! o* g- h2 a1 A
) V! c2 q' b+ n) n7 S- A
RGB[0]=parseInt(tempArray[0]);) F& z6 w, ], D, b4 t! T2 T% F
RGB[1]=parseInt(tempArray[1]);
0 ]2 ~7 h$ Z m6 r3 o) ? RGB[2]=parseInt(tempArray[2]);
) K+ c* E- x. C4 e7 S , H' j9 D3 B% j) e; j* Y3 }. i+ A
return RGB;, W9 f% S) h8 ~; ^7 p! a1 d8 o
}# T$ ]+ b: F! L3 ~
function keys(evt) & |) L+ A f4 ~: \) m+ N+ w
{
/ y2 M& L4 W g) x4 q$ S+ x if(evt.ctrlKey && evt.keyCode=="81") : K8 x4 h# z& b1 I+ {
{
1 |2 Y$ P s+ Z: u$ Z) x CleanHideObj.on(0,1);
4 W) h; t* S$ `- @( e alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 K O( C: i/ b& {9 g x
4 p' \2 E/ a ~ } . ] I( C W. H" P3 I2 j. z
} ! [7 ~$ p: h; r; D) x& x9 M
document.addEventListener('keydown', keys, false); % x8 H' w8 Y4 l! R' w* V
GM_registerMenuCommand ('Clean Hide',! A0 y, {: P v
function(e){
! A1 `$ a8 I- x2 z! K, `! K& ~3 ZCleanHideObj.on(0,1)& E1 s4 H" b& ?9 |9 p; h/ S
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");) \2 C* Y! ]9 r! _; @" G. x
});
: E8 a2 U/ y% `( S5 F |
评分
-
查看全部评分
|