|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
5 |( e1 Q: s: y3 b8 h: _7 n4 T' e6 M1 i" h
火狐插件,用猴子
" `, B4 a, ]0 P6 y6 N7 n% o) c2 | ~9 a; g E% X
var debug=false;
* j2 W. H' L' xvar CleanHideObj=new CleanHideClass();% w/ ]4 z/ x" v' t, ]
! u$ g' L. b- b1 t! P! s# R: H( N/ nfunction CleanHideClass() 7 w4 R) J; [+ y8 X- g u% n$ I* J$ u& _
{
; n, ?& @7 t4 P- t
Z2 {" z0 x9 o5 |+ O this.on=function(id,bMZ)
- @& }/ V0 v2 L& K" R' r' g: z {1 U7 S9 S5 {0 w2 a5 I. g
+ m$ O+ r# P( l; g! U3 M2 d3 ]
if(id == 0)
M! ?9 a2 Q7 t* C( G: y9 D% e {
" k4 W8 j" B! {5 p6 E1 ]* \+ R( m1 ] var page=/* document.getElementById("content").contentDocument */document; ! v9 G- I$ A5 A2 ^* C) L$ q" S
this.RemoveHide(page,"span");6 U: ` U1 b: X! W" D/ C- @4 N
this.RemoveHide(page,"font");8 O0 F7 g1 ~- T* _& N
this.RemoveHide(page,"div");
8 h( e( m) r, c1 F; ~ this.RemoveHide(page,"p");
* t! a4 V- p; J. ?% T [9 ^
9 q) g5 |* _' S( G( Q, r }
% _. }0 Y4 T6 G5 E ' u+ ~4 j) |# E7 ~5 b* h- j/ X
}+ c2 |9 i0 Y6 Y
this.getobjstyle=function(node,prop)
$ N# f2 M6 Z- U' f& z( H {
6 z6 g' V% j% q6 N8 J u( ]$ ?1 c try" U. n& ^, J3 F4 B! L# m3 J* ~, @
{
# i8 `+ G& C% d return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
; Q& V- g/ C! R5 {7 h$ L, T2 E3 z }
& i% a6 h, A3 _6 s% t p/ L catch(e). ^/ a" K# T% b5 I! M* o+ f" {; K
{
5 j" j2 v+ F* X; e! O if(debug)( Y4 M" ^6 h5 J
{+ j2 `0 s ?# G- }& K5 V
alert(e.message);
+ w" q) M, r7 x2 n }$ T% }. A T0 c( W, X' H$ A% e: ]
% |' O) b& s. x return "200";4 o0 _7 h9 b" b1 Q8 r
}
; e8 V5 q7 x2 y1 s0 c' r2 ` }
/ K" H% J; K0 c1 N! |% t, N9 } 1 K8 \2 B7 p# F) r) X V0 Y- O3 M
this.RemoveHide=function(page,objname)
9 v$ |7 \) z& F7 n {* ~7 X8 m3 [: D Q/ D
try4 ^* A. U% h9 C: C" ~7 p0 ~
{# M" I3 q. J8 S* T8 @
var minValue=15;/ A& h% G- W( K: A6 f
var objs=page.getElementsByTagName(objname);
) t' l. _( [" \5 i/ ?
+ l2 X3 x" D! l5 t4 I9 w if(objs.length == 0)
, F8 Q3 w8 B ~2 M3 s2 p t h {5 O! W7 ], `3 j
if(debug)
' _* T7 L; Y4 m1 R {6 f8 O l( i1 s7 q$ s
alert("no object found!:"+objname);( J$ u Z4 a% z6 S! J J4 s# `. O3 X
}5 ?0 O7 u$ I0 U
}
$ ?, e+ A$ i$ { j! R else( g1 r* @) }* c# D, s1 O
{- Q. \9 z8 l% i
9 G# ?0 W- @' \7 [0 s4 B for(var i=objs.length-1;i>=0;i--)
: A" y% f! Z0 _, J" E* D {' w( y% Q7 T u
var node=objs.item(i);
6 } }, L; b. F9 R* g+ y1 o 3 ]8 ~' I3 |0 L5 ~9 u6 K1 v; ~, [
' ^# r) A) x- L' W
if(this.getobjstyle(node,"display") == "none" ||
1 v! z6 G' A) |8 a: y, S this.getobjstyle(node,"visibility") =="hidden" ||
2 A' _: s6 J2 q" v2 ~3 r parseInt(this.getobjstyle(node,"font-size")) == 0)
) t$ L" r0 [0 C% N/ y! Q: s {9 {2 u- |, S c. i% N
if(debug)2 D* Z) X" O: @/ {
{! G7 g6 p0 [& q: j& D" D/ s
alert("remove invisiable!");
. s0 C- ~9 L7 r6 K% n' O }
. G0 t- z+ p8 ]6 f. W node.parentNode.removeChild(node);, N/ F: Q8 l+ \1 W( N4 J. I! F
" g0 {* w* c, n+ O1 H' D9 G# K
}
1 Z0 R- B. }% s* X+ _/ a else
6 N- |) {* W" k' r. c& O/ s {0 X- G) b+ b0 v2 K
if(node.parentNode)
b% Z, U; |; B {5 e3 c" a+ P, ^5 u; a
var orgNode=node;
, V0 q( B" v1 k, H# O3 y) u var orgColor=this.getobjstyle(orgNode,"color")
8 V6 ^4 c) ?1 |+ A+ E var orgRGB=getRGB(orgColor); # m1 k& V8 `% V
" G9 b/ [% N( V0 i0 d var parentNode=node.parentNode
- L& Q0 g5 R' A G- b var parentBgColor=this.getobjstyle(parentNode,"background-color");- ~" V" b4 c& p2 i$ r' e$ {
7 Z7 Y3 O2 [6 }- `0 n var isLast=false;3 ]5 i; g; ^% h- o- ]
0 Y3 P7 F2 V- P. P& a6 O1 ]
while(parentBgColor == "transparent")
# ?3 f1 @2 N9 G: Y+ L {
# I$ \+ \+ h" q/ y/ j8 b" x ) o' ^1 K( q# m4 E$ Q
! P# e4 y, A" O. R) `) D5 T
if(parentNode.parentNode == null)/ J9 c) T4 X2 q# M/ t
{& F8 {& O( G7 e. Y- X. Y4 I) o% A# ~
isLast=true;' S; P6 x% F! y
break;
3 ?. |; e5 b. Y. Y# Y4 n }
5 {) c' z0 A6 n6 g6 r l' @- a parentNode=parentNode.parentNode;
" }6 s' p; H2 o9 W. R$ j3 H parentBgColor=this.getobjstyle(parentNode,"background-color");
' H+ ]6 l1 c% r* D" X' R! Q" i: X% `
if(parentBgColor != "transparent") 9 c* x; K3 n) K% a' N
{/ U1 k* g% \ w+ Z( ~4 b/ n
break;
5 i7 L1 D3 Z' H, O9 C) F }
- l, B) b) F$ N' S3 O& Y }4 c( h; D+ j% Y9 X0 X" O
if(isLast)
% N8 U. w& j, A" L {/ \( ^5 |0 U$ R0 O) U
if(debug); b1 i4 E: ^2 b
{
. E. [6 y% `. Y. J# M1 c! U alert("last!!");) D, q$ x' D* a3 _% a- B0 `
}
1 Q. i. p% d2 W; { {' ^ if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))" R, N' j- E0 q( H/ c
{
5 Y) I* D# f% N% \0 u orgNode.parentNode.removeChild(orgNode); 5 j+ u& D5 A6 G& P7 ^0 y. z
}
/ ~; R( v! k$ r+ h- W: e+ j }
& o! N+ Q- m6 {# o9 o" u( V; j1 W else
- [& j9 ^; B* U {7 Q9 {$ o* T4 B$ }+ y
if(debug)' i! p! p; k' K4 o- C+ @ X$ r# i
{: V0 X% S" t( m) W# b/ R' f
alert("compare color and parent bgcolor!");
7 G' q1 ~, E/ Q+ B8 @* R3 Q }
: I) e" \% ]3 G% F. S" J8 _ parentBgRGB=getRGB(parentBgColor);1 [/ s" A2 G& x' r1 z8 E1 R
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))) r( v& }0 o( j; {# m
{
2 }* T b3 P( R& b2 r/ A( [ orgNode.parentNode.removeChild(orgNode);
7 q: A. r+ I7 r6 g5 f8 z% Q4 ^ }
2 ?: b5 k1 A* T }
6 Q( W( |) e, h$ [ }- S! d* i( ^- ~5 H: _+ v
}" W( }* Y, T7 L- R
}
$ ^- y( \/ F& N. f) Y; j5 k1 @ }! f; ~) ]; J2 j( T E7 {, f
3 |* S2 F7 J% X
0 |( P% U) \6 G( ]4 F2 ?# ~ var itemFrames = page.getElementsByTagName("frame");6 r3 p8 L$ I$ E0 e$ \" t
var itemiFrames = page.getElementsByTagName("iframe");
& h4 q/ b7 j/ V# y8 R; j' \* } " k7 H4 j. L9 X4 E
var frame, iframe;
6 {7 w6 u' @& u7 g; y- Z if (itemFrames.length > 0)5 {* {! H+ r7 x, z
{
9 [1 R; U, p' s( l: m for (var i = 0 ; i< itemFrames.length ; i++) 8 l( V" F n& T2 ]+ r6 D' k
{
; r5 U5 f5 z; Y& f9 {1 X% x& Y0 s frame = itemFrames.contentDocument;
2 A" `# q1 U# a+ l& j& C% { this.RemoveHide(frame,objname); , X G/ O( [: i. B, B* _1 }. i
}/ ^: [# }% }5 c7 h5 i
}3 ]7 k% g8 s; q5 S+ U5 l" K! a
if (itemiFrames.length > 0)
- [7 p$ K5 X9 [- ?% Q+ } {: F n i9 a7 J I. r! K$ g6 ~
for (var i = 0 ; i < itemiFrames.length ; i++) 6 t, ~( R! X/ D O/ [/ T0 k3 Y
{0 \* I% r+ C$ p1 _9 d! z
iframe = itemiFrames.contentDocument;
% @8 m# E3 E* q/ l3 Q* M) x this.RemoveHide(iframe,objname);
( S$ D, r: t( g, n3 D }/ a6 C3 D) z7 m" }, Q6 h$ k2 @
}
w# E* H6 E0 m3 k y1 T# h' B' d8 k }
8 ?1 i8 t% a) x2 U3 D! R catch(e)+ U- f3 k2 U# X& D7 h* B: g
{8 F/ \" B% C" i( F3 N/ T/ x
if(debug)/ g u, Y, k( C6 ?+ p8 M2 R3 q
{
+ ~; C9 g" c* U6 W6 r! O$ J alert(e.message);
( B1 Z, M2 s, [, G0 h, V9 \$ C }* d- k$ F) W( o% z g( I" i
}
4 R" k' x4 V! l5 T2 ` }
/ M' W5 g& z/ ]; g
" Q, h6 m, s# h$ [( e: V}
) N% y) Q, P( U9 d+ B, {9 n3 [% O5 Q
function getRGB(colorString)0 `8 s/ s, q5 ^
{
% e# d! L" h. d! i var RGB = new Array;8 g6 v0 U7 o- W: _; r" r
var tempSting=colorString.substring(4,colorString.length-1);' k$ t4 Y, q. k& g. U7 R4 B, d9 E
var tempArray=tempSting.split(",");* x5 R) G/ [: e: G( U& x# H% y
9 _8 z9 `1 V5 V6 B8 x RGB[0]=parseInt(tempArray[0]);+ Q; l6 o5 _8 l$ B6 A$ J- g
RGB[1]=parseInt(tempArray[1]);8 r' T: L. L: P) n2 V$ R7 c
RGB[2]=parseInt(tempArray[2]);9 K2 r) t( V- F- ^
* ~' F% d+ O4 G6 G9 s$ j& G. F7 f return RGB;5 [6 B2 L& \1 N; `5 u: O* l# L
}& }$ A% w+ o) c! C( E# L! Y
function keys(evt) 0 I, U; R; i' u# h* `: X. R7 A
{ * m# |/ ~' E. a1 r3 n
if(evt.ctrlKey && evt.keyCode=="81") ! p# c7 ?5 d" _& x
{ z5 R. g) C, v
CleanHideObj.on(0,1);( }$ r& Q4 I% T* k: `: c+ Q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; Z/ S( ^- k; @
% p0 ^7 t l, ?1 C5 k! D } & R8 Q" l5 x6 ? u7 H
} " l& B/ B2 ^- q
document.addEventListener('keydown', keys, false); ( x2 H$ L( `" N7 i/ A
GM_registerMenuCommand ('Clean Hide',
* e% C. |/ Q2 D k8 P) [function(e){
3 k% s& @% B( u( l& h2 vCleanHideObj.on(0,1)+ F$ v$ y( z( q% y- q
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
5 h& J+ b; Y- P: h' n' j& j});
2 `- o' F, h$ W9 K: w3 w2 X* a |
评分
-
查看全部评分
|