|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ! _0 k1 H0 d1 J
7 s: t- B. `% ]* p/ R" Y4 ?
火狐插件,用猴子
& C* d$ v( K' [& a a4 R: _& N
6 T1 W& ~8 s$ ]+ e/ y" Qvar debug=false; " l; c* M$ i4 \- n, F( c
var CleanHideObj=new CleanHideClass();
% Z0 w% k4 `; k
* l+ e( H; T- o/ v6 C wfunction CleanHideClass() J% |4 \ l4 B
{
: D' @2 w5 Y, ?7 M" d; F; z0 m 9 {; f& O( s& k4 V
this.on=function(id,bMZ); k+ ^2 _8 h( |/ }9 J
{) I. g- [: }- I& N( Z8 K% |0 A( o
' |# h, o5 Z/ P# I if(id == 0)
* ]' n' Q2 y( d( H- \ {
0 P, Z$ m0 U! F& T var page=/* document.getElementById("content").contentDocument */document;
, L, H& ^* w! [; Z# O* `8 N$ Z this.RemoveHide(page,"span");. _0 m& E% j# A1 P. j' X
this.RemoveHide(page,"font");" i& Y5 V) _4 t, f
this.RemoveHide(page,"div");( b: \8 [8 X/ e5 a; T
this.RemoveHide(page,"p");
' _0 l+ n0 r7 {( x9 I7 I9 K8 L0 w) d
2 o5 [7 n" P. {! U) p% s8 Q }
( u7 x) ^8 H; E" X
5 g$ v( M! Z' p2 S4 [ }
/ A" r3 t% R9 ?) f& j9 ^ this.getobjstyle=function(node,prop)
% q: U- x, i8 l+ g# j/ ~ {
0 Z8 K" I" a. [, n( o& B) ~6 r try' @( @9 x& p" n4 G6 B. S- ?+ Z6 B2 t( G
{( c' e5 R o3 n0 K
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);- o1 I2 M) p7 j z9 o: N
}- e7 V$ D1 y+ z& `! U: u
catch(e)
0 E+ E* n9 F2 c D3 x( `1 v1 t {
- a k% [! t2 X" M+ A4 N; j, y if(debug)
6 d* c" ? L/ F& f0 C: J3 B j {/ |) x9 N, I! C- M$ {
alert(e.message);
% x+ G# D# _7 D: l }- d) `" K! @: v ] [' _7 |
9 e7 ?, O2 w3 a# [ o) T$ H return "200";
! b9 j; G( t8 R }
1 R1 J. u9 _1 c3 C v1 R3 z( ?0 ^ }: C7 o6 d- V5 |4 f/ H, S
2 r3 q8 L$ a1 _/ _# W0 r this.RemoveHide=function(page,objname)% S* I, H8 u- a# u7 `
{
9 w% n" f7 J" ~; S, ~ try
) R# S, P- V5 L1 H {8 u4 Q+ Z4 g, [0 r. _, s' Q. f/ i
var minValue=15;+ }8 ?" I( {6 r2 R- d, E
var objs=page.getElementsByTagName(objname);
; R; t. f. g; F1 w. K n) V/ M* z0 B4 d
if(objs.length == 0) ) u8 o: z/ I4 X) a8 o5 e
{% `! W3 b! w) A) C- L Z7 X
if(debug)
1 H0 a& h" z& Z3 v- \( z {
& c9 u3 d3 O+ @7 Y3 v; ~+ n alert("no object found!:"+objname);! e$ u0 ^0 H. C" [0 z
}" S- p1 `3 ]! x( [" t
}0 P1 T$ X( ]- T0 q, X
else& y5 x! \: d3 T% {
{+ W8 B) B: L/ }" J; ^9 V
0 D ?9 @0 c, x9 K4 h
for(var i=objs.length-1;i>=0;i--)
9 Y! r: l9 j7 R+ j- \6 c {0 w# }' M) ]7 N- u
var node=objs.item(i); % Z5 C+ y9 h4 D* C4 e; O
4 z4 }- s( M7 t2 C7 G : W/ A; c2 R3 l) v- q! X$ Q
if(this.getobjstyle(node,"display") == "none" ||
4 F0 J: q% @$ P$ c: K* L this.getobjstyle(node,"visibility") =="hidden" ||- P0 a, `2 b$ M* n8 \3 T$ Y
parseInt(this.getobjstyle(node,"font-size")) == 0)
$ D6 @: |4 h2 U! Y {
/ }& g- W' H0 `' B6 q if(debug)( ]- e1 H: s- t% e) u( F
{
/ S' L8 v3 ^% J7 p0 `8 c alert("remove invisiable!");
( c' \ Y" K6 H7 b }
* L) Y" V3 z- }6 M node.parentNode.removeChild(node);
6 w" O+ @2 D6 W5 }9 z 0 z5 a! ?8 J6 y' b; I: G
}4 o; I. ~/ q d3 { W; Y! Q& ~9 L
else
3 z5 i% K4 h7 C9 p {
- F+ Y, @, j6 [: C, C: ~ if(node.parentNode) ' O' a' A* x& f9 f! H$ v0 b5 c
{
% C3 Z7 ~6 j# H+ J9 R+ N0 E var orgNode=node;9 E; d& p9 _ {' m" e" E
var orgColor=this.getobjstyle(orgNode,"color")( U2 S4 ~: @0 D0 J1 v* z1 P
var orgRGB=getRGB(orgColor);
8 V' Z- L' D8 R$ o. D% J
' F. u- a: m) _8 a, w- ~" L2 X var parentNode=node.parentNode& P0 c, U2 |6 x& G* T6 R* _# p
var parentBgColor=this.getobjstyle(parentNode,"background-color");4 I' O9 z+ a3 ?' F+ A) p8 S% K8 l' Y
; X0 m1 I- p+ x0 u1 v! I
var isLast=false;
" W! }6 ^$ o/ `. Y9 R: r ( p- Y; C" R+ M1 V' A5 b
while(parentBgColor == "transparent") 4 d N* `, l, B2 k% s: N
{/ I$ }; }" O+ ~- X
" s5 |7 ~. d& l2 {1 B* { " f$ V$ I4 w6 D- p" L" z) l
if(parentNode.parentNode == null)
3 E5 ~; W/ n( M, l" \) V4 y4 N! j {0 e2 ~6 N# X3 I9 k
isLast=true;# W3 ]4 _" A5 v% A0 ~
break;) i% y- D( N: Q6 ?
}* }3 M7 }7 S$ `
parentNode=parentNode.parentNode;. c" f3 H8 N0 ~: M+ u
parentBgColor=this.getobjstyle(parentNode,"background-color");
9 q0 I' d6 ^( n
, X7 `3 ]- \& ` if(parentBgColor != "transparent")
2 d( q4 N7 m2 Z2 [( a7 _. N8 J- U {7 g& p% N$ N+ K [
break;& c. `( V# M0 M! {. ~* H f; l9 X( h
}
) D- k* L2 t* v) O }, ^5 J5 Y1 a& _$ p4 I) t7 j
if(isLast) U" [' Q0 Z }( a7 t
{
- q V8 ~& F' U) d; ^% G if(debug)
. \' o) C; E& R( z. o! [2 X {& J* C6 q' G9 v" G- j: Z: x! {
alert("last!!"); E3 J/ L5 d0 S
}3 N0 T' ?" [: K
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
4 Y( S5 b, Z& s6 Q. }" H {
3 @; |6 S' n3 c Q6 a orgNode.parentNode.removeChild(orgNode);
- S# h5 T1 g( p" g& l2 d( Q) H; ]8 w }4 g0 u7 D8 q) K2 b- |" g2 n
}, G8 ~+ E1 {1 G0 Z* q4 H5 U
else0 N6 X1 X) J& }" ?, d5 O
{3 v" F' T# v; W, h
if(debug)1 m: h7 y2 i8 ~( V
{( w; b& s; d f# s2 h
alert("compare color and parent bgcolor!");* C0 C Q, n3 E. X# ~1 I/ e
}
& q# [ P3 n% I$ U& t parentBgRGB=getRGB(parentBgColor);
/ A7 T' @5 K! q1 r7 h if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
. Q8 l3 c/ L- B* O3 ^ {
6 @/ y8 {9 U. t* Q# |/ X! t7 z, j orgNode.parentNode.removeChild(orgNode); 7 h) `4 b( m! d4 G! E" `* u- u
}3 Z& e% ?% l6 J" D- v; I& W5 _! x
}8 t2 V \( n4 s# _+ B
}6 {% @" J7 J" ?' f7 S4 M
}
" n$ ]% A- K- O& ^9 P( S }
6 j6 y8 I8 c7 L: ~ }
% S, H% K2 U; d- U5 ?$ x3 G/ } % X: E. U; j+ E3 Y
% O r3 J3 F: f& C: r. {/ { var itemFrames = page.getElementsByTagName("frame");3 p; ~% ~, [' ^: m! i. `
var itemiFrames = page.getElementsByTagName("iframe");2 W9 a" [7 L/ J& u0 ~ ^4 N# r, Z: Y
8 a5 h! U# t& V var frame, iframe;; f7 y- o/ H6 O3 c
if (itemFrames.length > 0)/ |! O3 x4 u; N" K0 D, \/ G
{1 b) T+ t3 g1 ~* j( s( J
for (var i = 0 ; i< itemFrames.length ; i++) ; z5 A8 f) ~; s- e b! d
{6 e. K2 j1 Y9 Z1 W+ V
frame = itemFrames.contentDocument;+ G* ?+ s$ A7 M2 l7 F' t0 w* O
this.RemoveHide(frame,objname); * n( ^! ?8 a+ z- o) ]) M
}# V! D) t) Q, n5 t# W
}
4 W7 u1 K, Y& ^+ s1 D3 l if (itemiFrames.length > 0)
0 Y% v" a3 r& j7 Y4 B S {
, m# I( g6 E8 v& X5 Q# E8 I8 a2 T for (var i = 0 ; i < itemiFrames.length ; i++) ' ], x3 f# W" a9 e! J$ Z
{
! i2 I; _; L* P0 M/ J( G iframe = itemiFrames.contentDocument;
3 h, y8 r; Y, b; N) d0 X" { this.RemoveHide(iframe,objname); ) G' n3 ]7 z# P7 b! Z
}
9 V7 L& q! s8 {2 W% f }
- |2 J; _7 f/ q4 m }
! `# W# r N; ^( J ^/ i/ Y4 Z! g catch(e)/ A0 p2 \' `( l) {$ s' g
{
" L* x4 f( D6 \" g1 t. { if(debug)) R" K7 q2 P j- x; J" y
{3 Z$ U4 C% g9 f, S. y% W
alert(e.message);
+ C9 ~2 l/ j' @( n; _$ `3 |1 v }1 j6 Q9 q# K% w, R$ P
}
! v8 h, y7 y' A: }* x# w }7 P" O" d& g& N
* h2 K9 @' c$ K}
" f' D% @3 `& `4 G4 A5 r5 Y& }$ X% e) y; s
function getRGB(colorString)9 n. N* R3 ^$ {8 x5 S7 V
{
* I4 Z+ Q9 ]2 E% I: e% U: j, J) ] var RGB = new Array;
+ L; i0 S5 z; n. k var tempSting=colorString.substring(4,colorString.length-1);$ G/ R' d& D, y. F6 t- }) Q! i
var tempArray=tempSting.split(",");
0 j; ^! m8 e) }# F5 y5 I: f, p
; [& d" @$ A3 [2 ?/ m4 V. v6 {6 y RGB[0]=parseInt(tempArray[0]);" U, O- U7 I" t( t
RGB[1]=parseInt(tempArray[1]);: b% a5 |; W7 A' r W3 W
RGB[2]=parseInt(tempArray[2]);: k0 _; r r8 b. }" h3 ]& Y
" V* b, \( ~; P( `
return RGB;
' P8 y" t- T7 X/ p) W}5 N/ P8 }, Y" M
function keys(evt)
' D, u' d! a7 C4 K& j. f {
{2 i! \. K7 T1 J; I" b s3 y if(evt.ctrlKey && evt.keyCode=="81")
+ E- b! P' k% O+ X' c1 O {
1 |8 h" u+ M' K# z- ]4 R4 y CleanHideObj.on(0,1);2 t' J7 \+ G \/ y
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
, U3 e, J8 ~! `% t1 G/ t4 H : c/ y. x C# C9 @. n
} 7 B' E! `) I. Y4 M; j7 ]
} & q4 S6 D% [2 {# w5 Z
document.addEventListener('keydown', keys, false); ! S4 g' u6 }: j$ O5 `
GM_registerMenuCommand ('Clean Hide',4 B9 q& u9 ?- m# E) `7 I
function(e){* F- h9 S% C, Z `9 ]6 Z" f0 d H0 m
CleanHideObj.on(0,1)
3 r' q5 B6 U; n- _+ Calert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");8 s) `7 [% Q! G) ^, W) q1 U- Z8 N/ V
});4 Q( M" V* v: l/ q7 w$ v4 F
|
评分
-
查看全部评分
|