|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 2 B) w" T' p! A" f. b8 e
7 X7 q4 u/ a/ f( |' H' p火狐插件,用猴子
8 P8 v& ?" S6 S9 S3 y. Y' F$ w$ U0 b+ c( w: @8 V! w2 W" |0 q
var debug=false;
# f0 k+ f( h9 H% m" F( T. E. Wvar CleanHideObj=new CleanHideClass();, U+ q, @' ` |$ b
) G$ @+ d8 [% ~" N f
function CleanHideClass() 1 S+ F- f: L2 J1 t
{ 6 A+ d# t$ n0 w
) P! ^# w }" T# l5 d this.on=function(id,bMZ)
$ \4 F$ C. v8 _) V, d {7 O% J& o$ c/ ?$ C$ e$ Q- x" S% _
" j# k i2 S2 U if(id == 0)
. f3 k% i7 H% K1 G* w7 E# D {
N* D$ \0 W( g8 I5 L' I var page=/* document.getElementById("content").contentDocument */document; - ?, W7 N. v" M9 H/ k* ~8 P
this.RemoveHide(page,"span");1 W) B. U0 C4 d' \$ p* W6 P: y8 i
this.RemoveHide(page,"font");5 J) h/ v; [4 Q3 u
this.RemoveHide(page,"div"); w7 l j4 Z3 _ C
this.RemoveHide(page,"p");3 i d, M9 {. [9 X: {
) z) a( y3 T* _5 g$ s
}
4 q- q% D! b" g. {9 E% e 6 t4 i, O3 n/ O& U/ G6 u2 N
}: b& j/ Q+ l' d
this.getobjstyle=function(node,prop)! C, F6 ?! a3 _% F0 y# j$ r# o
{
/ A- \4 F& u( B0 X3 J8 f% w" k try1 c$ b* j q! N" E+ q* J6 G
{- |" o& k. |0 {0 G
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
$ }, H& o* Y2 n1 z4 r6 g5 R, i" ~ }
% C' h( b+ i3 |) E) J catch(e): M0 S/ ?& o, t+ g! a
{8 J9 x( G% P% l n+ ?) V/ M
if(debug)4 M) @' F n4 _
{2 \9 L7 D$ U& c _
alert(e.message);
) o" H5 G7 y6 o }' B8 P1 w, j* E; S4 X
" D% V/ U% T' n2 j' n
return "200";
/ l( a+ S0 W. F6 W! n0 b }
: r7 R% G5 ^, K0 E" H: [ }
) w* m" {0 @5 N( j1 |" N* B
# @ K9 X- [+ a+ K0 o4 z this.RemoveHide=function(page,objname)* E, t$ k+ p! D0 a+ o" r
{
: J4 f' Y+ z! D; D5 j) s3 G, X try; v# x8 O0 M2 P4 n; g
{
* L L {) p4 [ J0 U var minValue=15;/ {8 H: H0 [- l1 N8 b. z4 C6 d
var objs=page.getElementsByTagName(objname);
) }2 q; R" X- Z' t
" b. E" r5 f3 D: J; N if(objs.length == 0) . X! G6 N4 G& z4 [7 g
{5 ?& U$ u1 h6 E
if(debug); o; r& Z; |+ Y4 s) X
{& C, C+ K6 T/ X% o; [) l! x) m
alert("no object found!:"+objname); _; I2 @" v- {& ]9 B1 \
}
4 \# F7 ?' q* B" p' [- C }( A4 g2 l" U/ h5 Y0 k7 k; }
else$ V+ g) U7 I9 h7 ]" B1 L
{: L! c+ E6 b5 Y5 [7 J- o. _
2 K3 b' Y# J9 u2 r( {! w
for(var i=objs.length-1;i>=0;i--)
" p1 i. Z$ Z2 ~' ^- S {
( O. p0 X$ Q) q0 v2 H var node=objs.item(i); / \$ O7 ^" W P. P2 x
% g( m& I0 K& a# b2 F, i% G
* w9 F9 D3 P4 o2 B# V4 P+ D4 T
if(this.getobjstyle(node,"display") == "none" ||- f) Y- x; I6 T6 E+ p5 `: u
this.getobjstyle(node,"visibility") =="hidden" ||
9 k- ]( X* c- H: E: c- R2 @% V4 K parseInt(this.getobjstyle(node,"font-size")) == 0) ) i( i: z% R; i4 Q
{3 N& A2 p6 K9 Y+ i: Z
if(debug)
8 o. l( q/ x9 ~9 D! }! x {
, W% j" _! A# D8 l H- r3 j alert("remove invisiable!");
F. w: c) N$ c' m3 C } L: C: _1 J( l! Z0 v, X* q, G
node.parentNode.removeChild(node);! l. Q4 @, a' g1 b( A
& }2 I+ }5 \+ v, j0 |6 D) { }
: m. s8 O9 L q4 ^ else
5 _, A# |8 _1 d1 B2 o, C0 V) v& e2 y3 R {
?) L9 i1 J3 T2 R- T" _ if(node.parentNode) : L$ M8 E0 L7 Y/ [4 o# w5 R, [
{( | Q5 J! T" [
var orgNode=node;# C, Z4 |1 _5 U _
var orgColor=this.getobjstyle(orgNode,"color")
+ @; [6 T4 d6 W4 Y0 u var orgRGB=getRGB(orgColor);
; h& ~9 @7 m4 v- c) H) m q
$ R; J- r- X$ v; b var parentNode=node.parentNode
" m* @; U! F& n$ v var parentBgColor=this.getobjstyle(parentNode,"background-color");
6 H, G! H$ u9 J: ]1 U ' |3 R* {- y" }, K
var isLast=false;
- P% X$ j& w: R: j% U% d- G6 E
) u, ^0 m6 v4 C) c while(parentBgColor == "transparent") , {% ~& z0 W; m5 C/ b& p, J# P
{+ ~0 S' g' p' y6 p- [
n# \; v" g$ H: |% a
) _, T! j) f$ e) ^ q if(parentNode.parentNode == null)# x% H1 I0 [# E: v# ^. n- n
{
# R/ u( I$ T$ V3 o! S' C8 K, W# ^% ` isLast=true;
* J* X6 u) Q z( s$ B- O( p break;& P+ T" y1 Z# I0 h3 R4 v
}
1 d4 {: P& D9 d% y7 |. c4 z4 U parentNode=parentNode.parentNode; g) I' b7 b% a9 C; B6 u: r
parentBgColor=this.getobjstyle(parentNode,"background-color");
9 |" Z" K9 G3 b# S. B; h
3 B0 ?$ d- D7 e1 A if(parentBgColor != "transparent")
, t7 J1 I1 g6 F5 g) h' O. P {
2 m8 a5 U$ d/ F) f2 d9 f8 Z break;- i, X/ V4 Z# t+ f
}" }4 z! \$ \9 ^- d0 b4 d
}" m2 G+ T0 a) D: ~+ V' S
if(isLast) - B& H$ V! J. u! X4 m
{) _! l4 T$ H/ i* E
if(debug)
) L+ f7 q, i6 z. G' ^0 r6 H {
# z+ f0 x J# T2 u D2 J alert("last!!");/ C3 t- F, O+ J9 X" x5 t8 r8 i2 p
}/ T' Z) \- M/ {3 \# M) }( g
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))- H" @ S9 ?3 E$ N3 t
{
& Z6 Y6 Q% r: |6 S# \ orgNode.parentNode.removeChild(orgNode); - H5 R& ~* m' B# ~
}
2 [ s2 V5 T2 c* M }/ P9 U8 U2 I; r" ~& r5 m1 Q
else
: F4 s9 r5 z- J# F& W' { {/ z) }4 A! c2 R, R/ {) a
if(debug)2 g/ A; p' a, B" R4 T1 s& G
{
! l7 D$ i1 X) t! S7 k) Q3 g' J alert("compare color and parent bgcolor!");' a2 G2 y2 @0 E
}
7 x1 t! K$ z# V5 g parentBgRGB=getRGB(parentBgColor);
0 c2 _* L+ N9 D, z% ~ if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
+ h' O5 H1 C3 | {
2 ^( P/ k" y1 e8 v5 W orgNode.parentNode.removeChild(orgNode);
$ ~! m! h' X$ V; q- ]# t }
6 u7 H* \! v. X0 b }6 _ N) _8 R" B, k. p
}
) S# e& x2 J7 l5 I }
/ a) t0 n) V5 p$ U, h }! k% m3 W: O$ q0 I+ I: q% p
}
, o+ d" j, f% E K 4 i4 K6 E8 p$ R: _5 p
I* F+ a; ]5 J U8 }7 x/ g* v
var itemFrames = page.getElementsByTagName("frame");( {$ E* K8 N- e
var itemiFrames = page.getElementsByTagName("iframe");
( A# X, P- p/ I" B; J 7 ?0 }' d8 s7 ^. f( [5 B7 g# O
var frame, iframe; r/ l- k9 C$ h/ L4 \; f
if (itemFrames.length > 0)! B* P/ @' I& i. s% @. B6 I* ]
{# ^, b: n4 s9 G8 L% ?
for (var i = 0 ; i< itemFrames.length ; i++) & D& Z# W+ Y- p
{8 o. d2 I+ M3 Q1 U# }% C
frame = itemFrames.contentDocument;& [! u% U* ]: T8 W" L* x x
this.RemoveHide(frame,objname);
+ ?3 A, M6 W$ \8 y4 k; j, v7 L& ] }7 s7 `* h; K. y) E" w3 e' z) ^' F- o
}
4 v% z3 S2 s5 ]: Q( I if (itemiFrames.length > 0)
3 k: J R, z; q3 m+ Y2 s" ?) L; c {7 T' |8 f( }3 R% D) ?
for (var i = 0 ; i < itemiFrames.length ; i++)
) O) J- p& g& p( M {
8 m, r7 e$ Y( H iframe = itemiFrames.contentDocument;
0 J \) l7 E9 F this.RemoveHide(iframe,objname);
7 f+ E0 w3 i' O }! Z+ M; _' F5 [6 }" T; [
}3 K, _0 l2 V. O
}
; N# L, F% P" L& x catch(e)% `3 V" U6 o) ^" Y# C) B* f0 H' t0 p
{
4 O$ W0 F/ F H& j/ g, i0 x if(debug)" C& t9 I7 n8 W- d0 h- _8 s
{4 h' Z, y9 w' ^/ a
alert(e.message);1 K9 e$ s- J! u$ h; E9 [8 d
}( O) b; h' U% d/ {
}
! }9 H1 v+ ~0 g2 _ }+ s4 N* J, ]" E/ _3 v) w
0 S! j; a6 ^4 l# o) j5 X* U, H$ M}
8 {1 z! h1 z4 q) O4 _$ Y
2 D3 f2 t6 N$ ^8 D4 _; w9 Cfunction getRGB(colorString)
2 b* {. r6 X1 K) o6 L5 `{/ z/ b+ ^" V2 H0 M3 K5 ] @! O
var RGB = new Array; Y4 c5 h+ j3 ^) o- E4 x5 z" \
var tempSting=colorString.substring(4,colorString.length-1);
* c6 b& F7 F r var tempArray=tempSting.split(",");
4 p9 z* K& c9 v) I, p" Q: M8 Q7 r3 o" f
RGB[0]=parseInt(tempArray[0]);3 R0 B2 T: w/ D: V8 K' v7 f v
RGB[1]=parseInt(tempArray[1]);
, x) `8 f- |; A. x' l5 d. L, { RGB[2]=parseInt(tempArray[2]);5 M5 ?* v% |) B! T6 y" a9 e8 `
& ~( Z$ B# o* o- z4 N6 v# N
return RGB;
/ a& q4 D! d' @% l}" ]5 a2 [$ W) p, F ?
function keys(evt) 1 n3 R3 S+ V8 _$ B
{ : N9 V! ^! P$ D5 z, [) h. e
if(evt.ctrlKey && evt.keyCode=="81") * |& l1 w7 O& l+ ^! r
{ 1 u" O0 [' s6 ~3 R
CleanHideObj.on(0,1);+ A2 x1 L( l4 G# J
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
. ]2 v6 y; N$ y5 E
* J" [; N6 q9 Z, ]; r } * r4 Z; S7 j* [: ~4 x
}
7 m6 l0 |( B7 V2 i/ x+ }* f0 mdocument.addEventListener('keydown', keys, false); ) @% ]2 M1 H0 ~/ g
GM_registerMenuCommand ('Clean Hide',
G7 ?& B; w: e& f- O9 P3 b2 `& hfunction(e){
- q$ _! ^6 o& t% G1 @CleanHideObj.on(0,1) }' {+ k9 N; l1 ]! i
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");, x: e, r3 S, u0 j1 C
});. d% g% u' p! \& `4 O
|
评分
-
查看全部评分
|