|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 5 K$ [0 n: R: ~* k' f
4 l! Z% Y% w$ K% `
火狐插件,用猴子
1 I9 y5 D3 B+ b/ u' q
8 ^/ N# q5 U7 D% gvar debug=false;
6 a o6 D: w) n) Y0 ^3 [var CleanHideObj=new CleanHideClass();) D: x) e7 \ g. Z! L6 L
: W% t6 k* P$ H2 H( }6 f5 ^0 X
function CleanHideClass() , U( P. q; y" N% ~1 V1 K5 J
{
4 f. u" k" U% x t! b4 \) Z) n' R
7 \: T0 n2 y2 \' u this.on=function(id,bMZ)9 b5 e& ]0 d" I' ~7 y$ O
{' l6 w- h; N. a4 P0 {; W$ t
z$ t) p- n$ m, T5 ^" [
if(id == 0)$ ^# h W* `% R9 J* f
{
4 Y# P1 u; H" o L/ |+ N, L var page=/* document.getElementById("content").contentDocument */document;
/ o( k8 y% J6 r' ~% W this.RemoveHide(page,"span");
# N* j* V: [; Q8 o1 x# P6 t this.RemoveHide(page,"font");
3 b$ y* G4 d$ [. x# U: { E; U1 v this.RemoveHide(page,"div");. Y( f M: `! `) H: o3 ?
this.RemoveHide(page,"p"); x* v0 f' Z2 h9 `& P" X
. h4 \: M1 s7 [" K9 R
}
0 e0 y1 r! k# v' s5 W$ e8 s8 f
9 X2 U1 p7 q4 F, W }- I. c: r9 f" y
this.getobjstyle=function(node,prop)' I3 T- F/ J" l! v4 y6 Y
{
) O7 S' j4 }) Z3 i' j try
8 O+ `8 J6 }! Y6 r {1 _, B; [/ u8 N$ d/ o" l: N* c8 f, u
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);+ a" N% s& h! o. S8 S7 _) e
}* _% ?$ o: v* v# S, y. R& J/ l+ m0 R
catch(e)( z9 Z! z& q6 Y& w% m
{; T% k7 J% z3 L. z8 m
if(debug)
$ `5 l7 o7 ?* {& e3 `" \4 E5 Z$ G {
6 x( k' V) W1 t7 j! h alert(e.message);
! o/ {, n0 b1 ~9 g' B+ U% z& h- c6 Z }% Q, l4 `' F( E7 X
/ u$ K( S* x, P, K8 @8 r" {9 b return "200";6 v: J( a+ M- {) i) f9 E
}
1 D* k6 [1 q* D' A }; \* e1 Q5 z4 R: w
& o6 e' D1 d2 X1 ]" v' S* F this.RemoveHide=function(page,objname)" F. L0 d4 Z$ @
{
: } G7 j' V5 g$ } try
5 |; a# g. T* w8 u H {, }, {# j2 h5 C" q$ T% ]2 q
var minValue=15;
. P0 c: W; z0 a* w0 w6 Q var objs=page.getElementsByTagName(objname);
d& O* I5 o7 _. U+ t, B; E. k2 h# b* M. P0 m# D% Z5 E( m* y, L6 B- ?8 m
if(objs.length == 0)
1 P/ ^6 V7 v, I- D" q {1 D2 s6 i/ y9 C+ k2 E" w' J3 L
if(debug)- u/ S2 \* h$ h' q8 x/ H3 l. F8 k3 P
{
8 Y: _0 N, O3 Y6 Y4 U/ M2 k; m alert("no object found!:"+objname);
1 a+ t; `! O# O! A+ b* p }' v! a6 p+ H. I. V" I8 p$ Q. `' I
}; E4 {- _! h( T# Y6 ^0 x7 i
else$ W% c& Z S, s" [
{' r3 ~7 H6 [+ n1 ^
( w/ L, f& p* ? c$ V/ `0 D for(var i=objs.length-1;i>=0;i--) ; H$ ?( C- ^5 u% a
{& j1 ~' n3 M4 I4 K
var node=objs.item(i);
6 q3 y' q+ w0 u3 _ [ " o M s; `, H6 ?( o/ `/ R, B
% e( l h+ ?" {7 R
if(this.getobjstyle(node,"display") == "none" ||
4 R2 C5 `% `+ C; J4 p this.getobjstyle(node,"visibility") =="hidden" ||) f3 H9 ~. x3 K! _( _" s
parseInt(this.getobjstyle(node,"font-size")) == 0)
: G/ u) X. @, L) Y {, b# u5 N9 P6 W) T) E1 @
if(debug)
. z, X( ?) M4 I7 w5 H' \ {" f2 o- K- W; v: }- f) |. P
alert("remove invisiable!");
& e+ g' U$ a( @ L) D, v4 T6 Z) X }3 ^2 p# f P. z' s! O
node.parentNode.removeChild(node);7 s7 s" ]1 T l
- x9 {! v8 Y- D7 m& H }
3 v w4 i* O) `+ B3 V- v d V) b else
3 A5 Y5 b. x0 a {
% F% I; Q* W. _ if(node.parentNode)
8 Z9 i7 c1 m$ D) W5 X" j* [4 q {
, j3 M1 s* d6 K3 V var orgNode=node;
. r( i: {: q6 b6 W var orgColor=this.getobjstyle(orgNode,"color")
1 q4 W& H( c9 P7 y' Q; N: w var orgRGB=getRGB(orgColor); % o' R2 D" b: Z+ |2 ?
; d. c( A* [" K6 A; F. ~, a
var parentNode=node.parentNode4 w1 T7 `5 Q6 \5 D q
var parentBgColor=this.getobjstyle(parentNode,"background-color");% v9 b, N' \9 Y# |
9 E+ Q/ R: o/ i4 s$ j* g; h+ J
var isLast=false;. E/ C+ j6 f* m8 b9 h' \
( p: P& v; D) {* I( r) {- Y% s- F
while(parentBgColor == "transparent") / _2 K. {: R. e G* g4 S0 d# C
{) h3 R: h5 b* z, s1 a! O
B( M" F1 l* P8 H" ~9 z4 \
5 F8 y8 s5 U" I, y3 ~; {1 Z if(parentNode.parentNode == null)
. W5 c0 |7 n( c' }) `' t/ U( b* D {
6 `% u; v/ e$ S, E& b/ N isLast=true;
/ p- R! t. @/ O, k5 [" m break;7 j6 ^( r3 M6 h- z( f7 H: g
}
3 x+ u. O6 [6 Q+ g parentNode=parentNode.parentNode;9 f( S; T5 l8 O& Q
parentBgColor=this.getobjstyle(parentNode,"background-color");5 t0 z! P5 r% j* `
8 x$ F; ?: w6 z- j if(parentBgColor != "transparent")
, J b$ L5 d, ^4 B1 ^3 i { I; R. l: q, R8 S- Y
break;# g- a; s0 B6 F8 z) R
}: c: j# i8 d N9 j' j
}& _( a/ [1 j6 D g7 _" A4 N
if(isLast)
0 b, T3 K/ f" Q( {$ U7 p {
: h5 W; A2 F% z, \2 O) g" A4 n if(debug)
% U' a& L. y" E+ u {8 O8 y& W5 S" m
alert("last!!");* b6 }; p; Y: n. x D! W' U
}
1 D+ Z# S4 T1 B A G6 n if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))! n9 o4 w+ @9 l
{8 m& x( l2 ]0 \/ V, t3 @
orgNode.parentNode.removeChild(orgNode);
+ z; W# s/ m, k7 N. p3 Z- {! T8 Z }
0 F8 b- E" B- V) s2 C2 ?( b- F" V! r }
W$ F3 L F1 N# L5 h( { else6 M& t) C3 T$ T4 H# G; m- O
{
# C7 u Z. F: Z if(debug)
: G5 U8 t& J9 A6 y {' h% b6 B; d9 r
alert("compare color and parent bgcolor!");" h3 N2 J. B& r! O
} @3 @- R: y0 h3 |! J2 C: M
parentBgRGB=getRGB(parentBgColor);
' C& H( O6 \* X/ u1 X( ?# f if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
2 a! a7 q& S) m! p9 N {
+ o' e/ Z- Q/ p0 r) c1 @ orgNode.parentNode.removeChild(orgNode); " T: b7 ]$ X: `! E% t: p1 z* ?
}# S# J! O9 R) h, Z9 z X
}
# o. T9 u1 a8 j. Z9 i }
- h) Q: [$ n4 i }4 s$ k& z$ j. Y" S
}
7 I5 |3 e3 t5 O" U! f& J7 R }" e$ F! |* l/ M$ f
0 d: ?4 J- T7 ?! x + [- A: P$ y1 O+ Y- u8 E' v1 C
var itemFrames = page.getElementsByTagName("frame");( I" f+ l8 y0 f; Z7 C
var itemiFrames = page.getElementsByTagName("iframe");) ~; J" E2 }5 C
1 d! U. B; y0 m. u3 Z$ ?2 r+ d B var frame, iframe;6 E7 |5 O9 L- a1 d+ B1 S9 |
if (itemFrames.length > 0); z& N7 {: e2 M3 \! m, p7 u
{" l* A. g8 G- m) ]7 i8 o+ R
for (var i = 0 ; i< itemFrames.length ; i++)
' r k& S, L& F( Q; d {3 ]2 W9 ?& K4 c& E4 t; D
frame = itemFrames.contentDocument;) E( V6 u0 E) v
this.RemoveHide(frame,objname);
8 o) c0 C8 x) b( R }* h* O% W$ d/ | k9 s( Y, f3 D
} C* a: ^! D0 F
if (itemiFrames.length > 0)7 R8 o7 k4 M* F5 I3 G" Q. w
{4 o! }$ ]! `' G* ?
for (var i = 0 ; i < itemiFrames.length ; i++)
* R+ j2 c; }' F% ^6 k {
7 ]: m, @) [/ L1 e iframe = itemiFrames.contentDocument;
* M( } k7 V2 N; U; s this.RemoveHide(iframe,objname); 6 h" M6 D' X, I/ l. V
} U" n; M% T' X2 @9 m
}
: U" @( {$ c' `5 o) l }6 {- v& Y) V4 a1 f
catch(e)9 T0 J, D7 A! `, j" q% T) g" ?
{
; W5 i! N% u ]' J if(debug)
# r- P3 n; ]' ]( f) o1 x( S0 {' H {
2 N. I4 p6 p3 V. w1 J+ } alert(e.message);. Y6 o0 @. |( n3 q8 S. N, E
}
% U" j- r- j3 _$ U/ R0 b6 C }- g, l. J7 x W
}% @. s0 h+ Q4 D1 R& U( Z" O
' m. I2 N% V( L
}
8 Y3 `% c; M! _* q2 E6 z- N# @
% C% ]% s8 a1 K: q# S1 o7 A7 `function getRGB(colorString)
; k+ e- @& g1 @% a9 |{
! E$ d, h: K( ]; {4 _% V$ @0 o var RGB = new Array;; \# l3 C j& u; J( @" d% U$ T8 |# G
var tempSting=colorString.substring(4,colorString.length-1);% r" \+ g1 @% {# J, P
var tempArray=tempSting.split(",");' ~0 e, G, ^4 A) S1 s
* @0 ]7 T3 h# ]
RGB[0]=parseInt(tempArray[0]);2 L3 w: J6 K& \% u9 {7 v5 H; N( W
RGB[1]=parseInt(tempArray[1]);% I8 M9 N( b: x' }: i9 G; F# ^ L" T
RGB[2]=parseInt(tempArray[2]);
1 @0 n, l3 B; s# f' p; k- W" R . i! H- L; A, e0 J
return RGB;
0 H- L( T5 W& Z, d7 p% u5 ^% N}; J: ?* ~( H0 W6 W. l/ G6 Z4 U
function keys(evt)
5 _. Y. P1 I' H% I0 k |3 h { $ w; |: G$ y: U7 d
if(evt.ctrlKey && evt.keyCode=="81")
# d, i2 A. x9 { {
) y- V0 i; Y5 C' L: f2 z CleanHideObj.on(0,1);+ n# S6 n. u! V% e- R! s1 c/ y r5 \
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 4 Q" G' u" n6 s$ u+ R; ], i
* E2 g# m. l" j! |5 Z
}
1 Q) {- W8 Q7 }: D, r }
) T/ N- M* ~( t2 F6 Sdocument.addEventListener('keydown', keys, false); . V; x: Y9 @& G) l3 ?4 C
GM_registerMenuCommand ('Clean Hide',2 p( z6 I) y) `: k$ _
function(e){
" c8 u* H1 C8 N' _CleanHideObj.on(0,1)$ ]& Y6 e- F, m2 k4 P
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# w. o* h1 T2 ~: y/ K});2 V6 k- I& {; H9 X2 n& {
|
评分
-
查看全部评分
|