|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
- z# L) b: q* g8 d; w2 @( H$ `# C' h5 T+ f1 `/ b$ {3 k
火狐插件,用猴子& P# h6 @7 z9 ?& `7 @
( c: N/ h* A1 S$ M# T5 T G+ W: d! C
var debug=false; % d8 F7 y! Z5 }$ b* I* i. U/ C
var CleanHideObj=new CleanHideClass();
/ d% p4 I/ t! h3 M# `3 `1 ~/ N
) m9 W( r O* y+ n8 M( Cfunction CleanHideClass()
4 I0 z! ]+ c; B7 T{ 2 p8 J) \: ]3 u! U! {9 M' k4 ]2 j
- x! I0 B3 y( c9 L! q j7 X this.on=function(id,bMZ)
5 f) ]" \5 y1 f* k/ ~: M! Q {3 B% I: k; N6 ?# u
$ a, Q0 e, g7 g1 d6 \
if(id == 0)
. A9 n/ Q7 N1 g2 g8 E {7 u$ ~8 D* p% n$ i8 B \
var page=/* document.getElementById("content").contentDocument */document; 6 a- y# J x" A( Y. Y- r
this.RemoveHide(page,"span");
9 G7 g6 e! F. H/ ]- o# E, I7 W this.RemoveHide(page,"font");
( {; L& J1 m* t* Q* V this.RemoveHide(page,"div");2 X3 s# H+ M" P$ n% _; m
this.RemoveHide(page,"p");- R/ a: {5 ]& B S1 t/ g
/ B. a r5 o% `) D Q, u }
/ t" ]. s& k5 H4 P
, Y* ^$ Q N. m2 V5 D: V" a* b. ? }
1 r. k9 ]& Q3 {, W) t this.getobjstyle=function(node,prop)
. K& {' w4 x4 E8 I2 G {' g9 B4 K# ]$ n& Y5 ?7 }
try; i4 L0 g9 |" L/ }6 R- c
{
! |' ?7 J8 ^# Q4 X& y return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
9 B2 g) \: x; S }% K0 w% T* n1 c6 _* D
catch(e)* ? l# n, X; v5 H6 [
{
# s) p* B- j; Z6 A if(debug)
& y/ `2 O. c6 H {
8 t& q0 Y! W. b$ u' P; b alert(e.message);
- T. l5 E2 ?% }, P; U% k9 i }5 k& q2 z: {2 Z4 m9 L/ K
+ a1 t/ g G0 g3 y" B# B7 [/ s% g return "200";, p$ P6 ~3 a3 H7 O- i6 t
}) x1 X6 b% y2 h, A* M5 a; o
}1 a: u$ |! P/ [! } p z
6 ~3 T) s9 K, g! u9 \( C6 n2 D/ l this.RemoveHide=function(page,objname)
6 f3 ?! V/ c2 Y7 f) C) ?/ L9 q {
3 d- _- i- U; `5 Z try
9 O3 W% a) `/ ]5 J# s" H {; U4 t9 Z0 y) X* y
var minValue=15;
1 g5 J6 J5 A9 Z3 b var objs=page.getElementsByTagName(objname); 9 O" g( H S S4 }
( ~' N4 ^: J+ @# F3 d8 l3 c
if(objs.length == 0) + x x$ q7 i+ y1 b3 |' K) S$ b7 Y( g
{
2 E1 p( `* _3 h. ^ if(debug), x- s8 |. K8 B' u
{
2 o ]5 z2 ~( a8 c- f3 r alert("no object found!:"+objname);; D7 Y9 W$ p1 T7 a/ Q
}$ f% A" B5 B2 m- ^- f, e# b
}: Q' x6 h+ S$ B& g. n
else
5 z& [5 `1 e1 |! D, J. z; h6 n# C { C' j. k9 T3 Q
" W }4 q6 B% i. o; w for(var i=objs.length-1;i>=0;i--)
- ?" h- |' f. r; {8 X {
. _6 a. ~- T" L" \ var node=objs.item(i); , Q5 K- Y! e" V* y n, W& s
* j4 R$ g3 g% w
7 ~! I9 p% D" l9 C" U" Z P if(this.getobjstyle(node,"display") == "none" ||
0 A, D$ Z, g% C: c5 g this.getobjstyle(node,"visibility") =="hidden" ||
% h9 l3 Z8 f" E9 s6 D- s2 H1 P parseInt(this.getobjstyle(node,"font-size")) == 0)
, f+ u* a" `9 {7 ~0 z' m { f4 V `8 a* J% e0 |0 U6 ]# I% i
if(debug)( I0 z4 N: P* m( n- z$ E: \5 x/ f
{
/ d5 k/ X$ T' P5 K) U- l& Q4 } alert("remove invisiable!");
& p* z6 q9 s$ ]6 q }
4 l4 G g, f% k: I5 I node.parentNode.removeChild(node);
2 i0 i! ]- Q( T3 ~8 f - q2 o4 f7 Y& \0 S/ d0 S/ t
}( W1 T% l9 n. I* W( j3 Z7 @9 {+ }
else
, Y5 m8 l9 Y" `. T( Y! |, D. X {
1 s7 r6 a ^/ h6 {$ K3 J# d if(node.parentNode) / B; u+ L( E7 w V7 n* F
{; c8 V8 z/ K, K
var orgNode=node;# i2 N9 i$ v: O0 R' @+ y$ q w
var orgColor=this.getobjstyle(orgNode,"color") h+ Z$ B( j! p
var orgRGB=getRGB(orgColor); $ y6 p6 _9 Q- A( V& f7 u
2 S p& t2 A$ ^ var parentNode=node.parentNode( w: _8 h5 ?3 a) ~8 o }: r* j
var parentBgColor=this.getobjstyle(parentNode,"background-color");8 [! P4 i f5 @$ b5 ~! U; V- o) I
/ R: t! m9 b& i- C) ?+ @8 Z7 N3 c+ K' i
var isLast=false;
: t6 K5 B, q1 w( ?) E # O ^9 }% N; m; A* ~
while(parentBgColor == "transparent")
, g8 E" P5 K4 h- o' M$ c0 { n {
6 T2 E4 E, k: a" x2 Q2 M; R3 e" w* ] 0 C( H7 a" n; E- i' d
4 G1 P0 ?: D7 y. U2 {/ l$ R if(parentNode.parentNode == null)
! n& `: S& p) Y% | {
4 [! X9 }3 d9 O5 O, M isLast=true;
/ S7 {: K B2 f break;
. o4 h2 ~2 p2 d4 \( n9 f" ~' O }7 g; V- ?7 o5 `9 \4 A
parentNode=parentNode.parentNode;
4 e4 ~! h0 e8 A parentBgColor=this.getobjstyle(parentNode,"background-color");5 I( R3 @. v* Q1 g% f: b) h
4 L+ H: N! ]+ T8 g. \" g n3 n* B8 A; Q
if(parentBgColor != "transparent") / I! F4 @% X ^3 [; n P+ p
{& q9 B: h; a7 a* @% Y
break;
\0 G" S% O" t* c6 { }
' \- c% C+ J: ~ l. i% E- O3 W9 P }7 s7 e; S; p+ O! z/ E
if(isLast) 5 I& K) _0 @( n( P+ H l
{
. Q o3 [; b# q4 i3 `6 p if(debug)
" e0 Z8 ]6 b7 K$ W4 b5 @ {7 i6 i( L" d6 r( b8 Q( O& f% U* d) {5 E
alert("last!!");
! _6 S3 X) ?$ m6 Z }
6 i# T8 Y# S1 O D if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))% O) Y4 d1 L1 C
{
# }4 G4 m1 N0 h! t: t orgNode.parentNode.removeChild(orgNode); ) R: ~% X& G. T- |
}
4 z( I9 K, U" q( y; Y7 L" C# P# u }
( Q& B( P$ R; \0 N- V8 B else: |) T0 z0 o/ G) Z6 _5 s* J
{
2 j+ `) _) q9 B1 R( [ if(debug)5 H; k; f, a* L: C
{( x* p8 [9 C# `5 M5 a, a4 y
alert("compare color and parent bgcolor!");
9 n, ?& v0 f( _/ p( d. l1 Y! D- M- ? }3 o2 _4 R, B! [+ R1 D1 ^3 X+ P
parentBgRGB=getRGB(parentBgColor);9 ~; O6 k3 Y- [) ^+ q
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
( G2 v) r0 O( D2 o8 @ {
7 U# ~7 O8 h% c3 L: w& q orgNode.parentNode.removeChild(orgNode);
; U2 w! c. }6 L: g9 {# k }/ ]6 |( M S$ }. W
}
0 Q; F' m5 N7 s& E, v2 Z U, J }
, g+ b! s T' ^- j. h* v) q }- r8 V8 S- @% R
}
1 r; N# ^8 |# Z1 N/ H }3 X7 d: H8 p# X/ B
& c; U# |8 v' `# [
1 o2 R. t& n3 e; F5 m8 V) o% \; e* m) N var itemFrames = page.getElementsByTagName("frame");
j' L e' d) N7 Z3 g4 S9 }0 R var itemiFrames = page.getElementsByTagName("iframe");7 i) V6 a: i0 A! q$ q8 o/ B
( d# ]$ X) O% ]8 _' u) z var frame, iframe;
: R: y+ w* |- i$ N if (itemFrames.length > 0)1 G1 Q! O4 x5 G# e- i4 j
{% S1 f: e0 `: K* }+ A5 q3 `& c
for (var i = 0 ; i< itemFrames.length ; i++)
5 A4 w% B8 R* r {+ M7 H2 [/ ^7 ~3 Q; l. [
frame = itemFrames.contentDocument;
J$ u N u% K9 u' F1 X$ i! w& } this.RemoveHide(frame,objname); 1 l! m2 |3 S6 ^! h* K$ V3 Y
}. h# J6 |2 L0 Z K: o3 Z2 r# f
}' X+ C+ K0 }4 P) x! L4 Q3 K N4 D
if (itemiFrames.length > 0)
0 z. U) f! I8 \7 k7 v {
+ V% Z1 |! \" K: U for (var i = 0 ; i < itemiFrames.length ; i++) $ u8 { r" m, x* b% [7 z( u2 M
{
8 G: ]4 w2 p/ f6 z E7 O* A iframe = itemiFrames.contentDocument;( M3 h0 l' Q% K/ p& s" s
this.RemoveHide(iframe,objname); 1 [+ ]* ]* N; e8 C( N( ?. Z: l
}
! X/ I1 F- N9 \, z3 w0 X# T4 k* ] }
& m7 E) t" k7 T5 @( E$ Y2 E5 B( F }( H. W. h1 p! a4 k
catch(e)
1 d( S9 q5 `" `( b' I. A {" M4 W4 u' e( \3 S9 _
if(debug)
2 q+ K1 s/ D8 t5 v+ p2 D {* N, z. M7 R: \6 X+ w# a
alert(e.message);
* [7 R" o6 N) t$ H8 Z' v3 Y }
' W) Q, H4 k( s7 i* V: f }
( ~( S1 D( p! w( Z6 Q2 H }/ E8 l, y" y! V" r' Z- c! r$ S3 T
$ t# B: q k/ ?/ l3 }% ?' ~
}
: i* C7 {- ?2 D& N5 E) ]/ q9 C( C8 o4 h
function getRGB(colorString)! \$ j; Q- }9 Q6 T8 z8 @
{: ~5 E# p+ ]* J5 ~( {6 O: m7 {
var RGB = new Array;
# E) R' c( Z* |# T: G% g var tempSting=colorString.substring(4,colorString.length-1);
B L' w+ Y' [0 Z) Q1 u var tempArray=tempSting.split(",");4 Q, u4 b$ \4 W5 O* a2 e( R$ r$ C0 w# x
# v" ^- j0 P% i8 Y0 H; v- a RGB[0]=parseInt(tempArray[0]);
7 F) h+ ]2 f' ^+ e* W RGB[1]=parseInt(tempArray[1]);- Y. c2 I v; g9 J3 [3 D; |# {
RGB[2]=parseInt(tempArray[2]);7 f. R: g% n$ _/ l. E; C6 Q4 Y
- e+ B* x0 K7 i0 }' i return RGB;- d4 ?# `6 ~ H" {: |
}
$ B5 b1 p# C$ X' |2 C5 H3 j. Nfunction keys(evt) ^2 L4 J8 x: u1 k0 S8 d; [, V
{ & w4 `& f* J0 q/ w, \. r: U
if(evt.ctrlKey && evt.keyCode=="81")
5 ]% |: @" T4 O2 h {
# m3 y: C4 s; w0 H CleanHideObj.on(0,1);
6 R5 e7 |: z! w z0 D alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, i% ?5 I) t7 L1 j1 s
/ ^7 X7 b o! `, C4 l5 u! q5 { } : ^0 ^- G$ Z9 a' ^1 o) |# W
} 3 V9 p. S" L" _+ C k% U0 H; ]
document.addEventListener('keydown', keys, false); ) @$ ?" c5 J |6 o& K
GM_registerMenuCommand ('Clean Hide',. [0 s' E- w8 |6 ], e8 A+ a
function(e){$ t9 d% w% T, N6 E* P$ S( c, _: e8 K0 ~
CleanHideObj.on(0,1): B H% }) x+ q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- h% n @* K. A4 `: n});4 b- c; L$ d0 q6 f; ?
|
评分
-
查看全部评分
|