|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 0 c: O- i9 Q; _' w0 W
+ u. P: `# k1 _9 o; |6 k火狐插件,用猴子6 _" [- ~7 o V
1 G) j( Z( E# K F3 l( S
var debug=false;
% G2 ]. |, y' e1 s( h" s Mvar CleanHideObj=new CleanHideClass();4 \( l& L' M3 b* N
0 j3 E1 x, g: e* Xfunction CleanHideClass()
K" |8 ^/ l1 R1 t& [2 {{ 4 q) J* z/ @' p6 R; M6 o
3 a0 T6 y/ a. {0 ` this.on=function(id,bMZ)
7 q, C" _9 ^2 J$ r) t {
( B. K4 ^: ^: F ( \* X7 I* o1 o2 q2 [5 ^! \
if(id == 0)" @$ h( V& w C/ B
{7 A+ @2 W, T ~, J6 j! h9 v" S
var page=/* document.getElementById("content").contentDocument */document;
4 f6 q; e$ m5 A# Q! ? this.RemoveHide(page,"span");3 R, C7 A& I c# d. R
this.RemoveHide(page,"font");! b. S& R- l! L4 \1 w; S9 D7 ?3 U
this.RemoveHide(page,"div");1 }2 K, s# X- n0 Z( R) J! ?
this.RemoveHide(page,"p");
2 m; l, G$ |6 B
" ~8 k7 x% M# D0 D) [! b8 w/ ~& C }
0 j" L4 {- G3 I- E; |5 {: C 1 V1 Y& _6 x: e, R9 b7 h
}
B4 E1 z" t9 p+ D7 B this.getobjstyle=function(node,prop)
0 K& [: Q% F& z! a' h$ E& ^4 \$ a {
- g! ~9 Q4 v! O4 t try
2 L- E1 ~2 x% ^) _- Y5 E8 c" f2 f {
* s/ ?4 N" o& P. q6 `" q return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);- i1 l# C5 C+ p8 ^, P
}
! {7 r }) ^9 M9 k9 A catch(e)
' `) P& g* b3 s& [ {, ?) A$ n6 H! q
if(debug)
6 k/ w0 D) O' v {/ }' s7 a" M! U( k* w- I
alert(e.message);
' w: |9 h0 m( P6 { }
8 z) i8 X: K! @- |7 N; P . ^3 `) P) Z0 c, |8 F/ {
return "200";& u! H- p5 @& t, P5 H1 R5 D% F! v
}
& M" f) s* A: b, i$ ?9 e: u }
5 \" W5 z' W4 w/ f; u/ e2 u
* e$ L) F0 K* a/ X" l0 ` this.RemoveHide=function(page,objname)0 ^3 c" D) e% C, u) k; s
{6 h8 g6 e1 f2 K1 o& [ `, X5 ]
try
, S3 b2 q0 H: o9 O+ r: a) _. O+ R& W {: F6 q) m! `3 D# A
var minValue=15;1 G7 b0 A' L r) {
var objs=page.getElementsByTagName(objname); % u. r( E" ^* ]/ B
) R, T8 ~( G, O
if(objs.length == 0) ( }' j$ E! a2 P4 d
{
+ ` x8 b( F, B$ s! d% B9 f- s- F if(debug)
7 Q5 x3 n1 h" ~1 p- f! e {
; P3 {6 Z9 C7 ^ alert("no object found!:"+objname);" E1 Y0 z% p; P. B9 Y" U! L
}+ `& x6 u E; p
}- g7 X+ @( i" i8 W( u3 l8 \: f
else
) @, g$ \7 V" v! D {
! x5 H+ L: s0 U4 K% o/ p j5 O' r* l2 n: Z4 q# F
for(var i=objs.length-1;i>=0;i--) ; d: z4 j( U9 {7 O
{
" Y- c( ^# H4 { var node=objs.item(i);
% f: p2 P$ i. ^ 3 X9 m5 |6 \8 t1 U& s: A3 e
4 K0 p7 @8 i! t% g, [4 N if(this.getobjstyle(node,"display") == "none" ||
t# ~) i5 e( i9 P& m7 |" L this.getobjstyle(node,"visibility") =="hidden" ||
" M! U5 B4 x3 V4 q! N parseInt(this.getobjstyle(node,"font-size")) == 0) ) P: N }9 Q2 T0 k. Q
{
$ Z8 s& Z0 L( h+ q$ B3 i if(debug)
. X8 t6 M& \: f3 T+ _0 W: ] {
0 x9 e0 j; O$ T) d) z. C alert("remove invisiable!");
1 R. Q+ ^. A) h n }8 K0 X: z3 v8 N# V& x1 r# R) }
node.parentNode.removeChild(node);
, g# H; n, S* y6 r3 u" t" N- F
3 L, S, L& `" X. R }
: Y2 w* Q" Q( Q else
7 c8 s1 Q% g7 {( l' R! @% y {7 N; q9 @1 |( Z) [! G: ]& j
if(node.parentNode) ( ~' `) h( q V9 e4 ~9 d9 E! [
{" @0 t4 e' c* z% P4 N- c; Z+ _
var orgNode=node;( z. g) v6 p5 E* _! a/ G& p( d
var orgColor=this.getobjstyle(orgNode,"color"): Q( E, h3 \; W. U) W
var orgRGB=getRGB(orgColor); $ Y9 |% j: B' E
! A2 p' u$ X: S( l4 E
var parentNode=node.parentNode* q! k% r* g8 t6 V
var parentBgColor=this.getobjstyle(parentNode,"background-color");
, F1 [5 j) f8 q! x
+ W) m+ N! s5 |: T7 u) C3 v6 _& a var isLast=false;7 g5 z2 h. b2 \3 Q: _7 J' b
" D3 L7 a% I6 l& P9 k. V- C3 a9 K$ d while(parentBgColor == "transparent") ' O! q. Z \0 h$ P; J7 D
{
F- c7 D3 J5 c& ^( \5 V% H# k 9 a2 F$ s2 ~5 L9 x5 S
7 [, v: f# n8 R
if(parentNode.parentNode == null)
! w! b" z/ f, Q( S/ I {
# |+ k6 T; E1 H' v3 ^ isLast=true;2 A. o2 _( P* Q( `9 m0 e- ?( H: Q/ [0 ^
break;; Q S2 X8 X6 D9 S; k% I
}1 W7 z2 L5 j# Q- X, F' J
parentNode=parentNode.parentNode;0 F; X/ Z4 M. ^8 }4 O' q: E5 W- M
parentBgColor=this.getobjstyle(parentNode,"background-color");" e, \3 E6 j9 P( i2 j g0 [4 v
; F9 @6 U3 R! @( Y
if(parentBgColor != "transparent") & q+ i- [5 ]1 U% ~, l5 L' t
{
, B; u$ j( r! G$ G6 I; } break;
; U8 U! l( X d: E! F/ Z4 N }
. ?3 d4 b) i F) O" h) _* f3 u }+ I& y9 ]* n4 M& O. W6 T+ V% S
if(isLast)
3 [- N' F8 w8 T4 k# Z- ?1 D6 y {! B' U0 L: h) h: ]/ L0 h
if(debug)8 U! a/ Q$ y9 d, E1 }5 D
{
( y# B* q; z5 z) X alert("last!!");
8 d; M( i, W# L. u h( {4 n }- L! `( [' L9 _8 ]" _$ y/ ^1 ?4 w2 B# r
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))1 G: ~/ _' O# n2 f* c
{" {5 h4 }+ E6 m7 I! v& F
orgNode.parentNode.removeChild(orgNode); , h& P8 ?7 p. F, }3 C+ Y
}9 F! B; Y$ \7 ]3 n; Q0 h/ j2 H
}
5 I w5 @0 t; T% _& d% V, d3 G else, v$ `6 t1 d8 Y) u7 D# o
{8 h9 T( Q7 l) a# R
if(debug)+ O% M: I# {* q. p2 B& I" j3 K8 W
{5 l1 A' E+ v9 F, x
alert("compare color and parent bgcolor!");7 m1 G( n9 O$ o1 m" Y
}
4 H* u- j/ ^/ J, K: F- A parentBgRGB=getRGB(parentBgColor);
/ _" K2 J, ~8 e/ _1 Y if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))5 _9 {' ]$ m# h) n5 {
{ {' F( Y' x) E) c- q1 I
orgNode.parentNode.removeChild(orgNode);
% ^8 D6 v2 |7 ?0 M" B }8 w6 C( M3 _9 ~
}( [) X' T Y+ i: o0 G' R; ^
}5 F9 ~0 J, }8 H* O3 v) Z' q
}
3 l9 w) v0 n6 r2 {6 G& u/ J/ o; P, x }
9 z5 i) w* t5 w' `5 e( w# E$ V$ z }
5 l8 E0 G. P* q
8 r P& [8 S7 S9 W+ s $ J9 v: P; F0 a: e* E
var itemFrames = page.getElementsByTagName("frame");/ N- U# E" h, q! V1 T0 l
var itemiFrames = page.getElementsByTagName("iframe");
3 R' Q/ W, t- [. c' ]) ] 5 D8 J/ g$ V V- J
var frame, iframe;
6 N* g' o) k. l, x! p if (itemFrames.length > 0)% X$ ~1 h- X: w% Y9 V- s
{
4 d9 {, h! I- N: Y for (var i = 0 ; i< itemFrames.length ; i++) ! `6 O5 `) j: {/ M' S) |+ i
{
7 A7 k7 C2 \# K H e frame = itemFrames.contentDocument;
4 N- A: e# L+ H1 k. k+ ]0 s this.RemoveHide(frame,objname);
7 X) _* H6 O' J7 J$ `8 E }; A! i: k/ y- V$ k( v6 t
}- t! r$ U% w9 Y6 d9 Q
if (itemiFrames.length > 0)8 b9 c, I+ G8 ]8 E9 ?
{
+ u' V' `. {( A% M; j4 \# X for (var i = 0 ; i < itemiFrames.length ; i++) % S5 [/ Z- e$ x4 E' q
{
* u1 ^* `+ a* P1 T+ q' X iframe = itemiFrames.contentDocument;
! d O# g- h- Z this.RemoveHide(iframe,objname); 9 y5 C/ y- U" _& b& L% J
}/ b; H0 Y; _7 {2 v. c
}
3 S( m% N0 ~+ ~6 \" Z' p1 T5 d }
7 e& U% m4 |+ m7 N5 N7 B1 U& @ catch(e)# l5 G. E. f+ f) X
{5 U7 `0 J0 r3 u Y2 V- |
if(debug)& v6 M- Q0 u+ ] K9 c- Y
{+ F; r# D5 W0 J4 C. Z
alert(e.message);
/ L3 w' v7 F, P6 q6 |2 M0 d }. Q3 B3 |4 _9 s
}
* Q2 c- a& d7 G9 c; K. F6 G3 l } t+ f* t8 f2 c2 \" Y) R: L
" ~# n4 m1 Z; K/ z# k6 d7 }# X}
, Z) k3 E7 P) |5 b1 G+ D( |4 i% v7 L- u( _
function getRGB(colorString)
& z, _- y) o7 H' l8 t; v{6 H* r: P6 P9 d
var RGB = new Array;6 c2 N6 k7 U* b- _3 q
var tempSting=colorString.substring(4,colorString.length-1); L5 B2 D8 S% p5 d ?
var tempArray=tempSting.split(",");
, A! \2 q4 ]8 q% N* h) x
! y: a5 @9 v! q' b& O RGB[0]=parseInt(tempArray[0]);
+ K& L+ r! I7 r% t$ u RGB[1]=parseInt(tempArray[1]);$ y& V: v4 m- |( O6 s' C8 Q
RGB[2]=parseInt(tempArray[2]);# p6 t/ f4 w" |- P! F
: _# G# w) ~( [7 y return RGB;4 ]/ u/ S+ W) `! n) e7 I* E
}
% V$ f: ]# E. W2 |function keys(evt)
, V; g1 [3 J1 |( T, _/ E1 d# {: c2 F {
1 c& @& \2 I/ ~6 a7 i+ ~/ a if(evt.ctrlKey && evt.keyCode=="81") $ k* N: \: t' y+ C
{ - \% c' L. I# c" q
CleanHideObj.on(0,1);
: r6 m6 o5 P- T3 T alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ C: K3 p4 `; Y3 S ! \# c4 b- D3 Y* x
}
4 k$ Y8 N- x6 n. [4 ^ } 3 A% x* I3 y% c8 c
document.addEventListener('keydown', keys, false); 4 u2 A5 a z) ~, n/ J
GM_registerMenuCommand ('Clean Hide',1 G/ f. l# H/ h
function(e){2 C" S# O: ~: W
CleanHideObj.on(0,1)! Y; T9 b8 }2 `6 P T6 n$ N' O
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
% _5 B- g3 ?) W" r }6 Z});
9 C2 o) @* T9 o9 o |
评分
-
查看全部评分
|