|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
% k q, b, B5 q4 l5 h4 @# D# N5 q/ E0 E- H: v7 I- h
火狐插件,用猴子
3 U [" ^. z0 k( Q
/ O. l' y# A, e4 ivar debug=false; 2 Z! c6 P {7 Y$ f* |7 k
var CleanHideObj=new CleanHideClass();
' m- r1 h( _4 P v; i0 D7 T' N- L0 Y3 E( F* v
function CleanHideClass()
+ v6 i+ |& I7 O2 b$ ^' b) R{ . y/ }) k# S1 ?$ G& l0 h. o8 G \# C- |
2 ]4 i9 T: v b- t' I this.on=function(id,bMZ)
7 P( y2 ^! o. O ` {
6 E7 ?7 d) }, m8 b, ~: i4 o6 G # l; I! t; k( Q; A2 B2 C! ~$ t& Y" m
if(id == 0)( U& w1 [8 {5 S/ r$ D
{
: O5 y" z* }. e. i( w( C2 R1 u var page=/* document.getElementById("content").contentDocument */document;
3 p" F, j; H0 a this.RemoveHide(page,"span");
, M- b3 m* {+ m) Y4 h$ \ this.RemoveHide(page,"font");
, x2 q% X0 y8 C2 ^; n this.RemoveHide(page,"div");
( M0 p5 ~( Z4 ^' S1 n this.RemoveHide(page,"p"); E5 N& O' Y* ?; E
8 m+ l, a5 {2 e/ r. L; x. P; Q }7 W$ V* [, y: S0 a
, b& m4 ^& V5 J- T8 v! H5 ]6 [- W
}
4 [6 E/ y) S9 b$ H0 [$ t this.getobjstyle=function(node,prop)' B+ @$ B( ^- y! E1 s! Z8 e7 D) c
{$ q+ x9 l5 r) j7 D
try9 Y k& F! h- Y. {4 L3 E6 }+ Y+ p
{
0 o- m) h+ C- W7 Z6 C h return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);$ {, |" H3 j8 `+ v" B1 g- L
}
5 z2 K, w% p6 z, S! E catch(e)
+ L d% i/ r9 }- o {; M8 u* A* l" {+ u& m
if(debug)
$ A8 T2 s- `! h; r/ E' B {
5 D& \: O9 n" f! {7 ^, s* U, i alert(e.message);
* }: o2 |* u) L }
3 s. n/ T) w# D/ u4 | n
3 t/ T3 s) w' a8 D$ j return "200";9 T- `: v$ O+ U% P' u& V* @
}
( H7 `% s& t* p; O }/ e5 F1 B! m; r2 J2 F% C" k# M
5 V6 z9 i! F/ o9 E+ Q
this.RemoveHide=function(page,objname)8 M# G, i3 ~) v: ]0 C+ |
{
% u" C- a* U: M& M( K try X E! _4 C/ u& s! P
{
' o8 M* D6 W; J3 W: h3 M var minValue=15;
, x% }; H* o& I# I# d& u z var objs=page.getElementsByTagName(objname);
B1 f/ C. }! |. p
( q/ e+ k9 x% r7 K5 X' v8 } if(objs.length == 0) , H* q) |# r+ I3 {3 I
{( v. E2 s0 x* R& K
if(debug)+ O. f% B' f& f, }/ g2 |+ z
{
6 `2 z J4 t2 g. z alert("no object found!:"+objname);. i/ I$ S- I5 R& m) d ]
}
! K# F1 P5 j. V/ @8 X" ^9 U$ J6 m8 [ }
; N! k1 v3 |: p2 ] else
9 b+ R* [5 c; y) C {6 X+ A7 i. |! P0 W
" D& s* w& ?& [3 M$ y; L$ r
for(var i=objs.length-1;i>=0;i--) # I# l5 k$ G- h- C) j
{
2 }* F! n; J$ n s var node=objs.item(i);
0 M' @8 I( l6 E, S1 Q
1 p# f8 O! l# O! T5 N5 M" L" g- S
& _( K$ v% w. X1 C7 E$ H if(this.getobjstyle(node,"display") == "none" ||
3 D3 w3 x. m3 P this.getobjstyle(node,"visibility") =="hidden" ||1 Z D# [/ Z8 p0 [; ~
parseInt(this.getobjstyle(node,"font-size")) == 0) 1 M3 J0 p ]! e9 Z4 f+ ^
{
; c* F$ E( Z5 [! V/ B" k if(debug)' f# {: a3 u2 C% ^& ~
{; {1 o: R( {* b7 y
alert("remove invisiable!"); h+ ~6 K% r( w3 v2 e
}
9 P" ?+ ?4 z. ^ node.parentNode.removeChild(node);
0 B$ D0 W8 _* g& S/ M/ i
: g1 z s6 ?# c6 ]" ^) U/ M }9 Z, h9 Y" c! K( E$ d: q
else : J# l3 V& A; | J" H% D& n2 j
{
( G! N6 n3 ]' i4 A if(node.parentNode)
! L7 U# K0 @% C- ^$ {3 y$ G! b4 K {
, g+ n: r4 C; v, k3 D2 p s var orgNode=node;
) o+ b3 ^8 _8 \3 P. r+ g var orgColor=this.getobjstyle(orgNode,"color")
$ V5 G3 R3 U7 n0 `0 C" L& Y% k var orgRGB=getRGB(orgColor); * j0 D* `; ]- C, ~ K: E
; Y) K4 ^% o" b, n% q1 {, K var parentNode=node.parentNode+ {" t5 }1 }' A4 N" W
var parentBgColor=this.getobjstyle(parentNode,"background-color");
1 C+ ?7 i2 f& j; b4 ]$ c& B9 s 9 M1 a: j2 j( F6 A7 q
var isLast=false;
8 G8 y; ~9 g2 h
1 Z- O1 ^0 c+ d V while(parentBgColor == "transparent") 1 P ?" q7 ]& w1 Z7 d
{
/ O0 x! s( ?! m( ?! Y# _' A # X" v$ l* n6 [% a
( G% m6 p C+ p# Z, |* H
if(parentNode.parentNode == null)2 `8 ?3 V6 Y+ E; I) I
{8 R; f/ _: Y3 e- B. |$ N# I, C
isLast=true;5 B/ r% E9 J: \1 U
break;
: k% l9 i# A B" d; L }
9 f! k M& W+ N! l. @- Z0 m parentNode=parentNode.parentNode;3 M; C4 \+ R) g9 B
parentBgColor=this.getobjstyle(parentNode,"background-color");
8 `) ^3 d" y2 O9 n, E/ r( e" V
if(parentBgColor != "transparent")
! X# Y& l8 F( @6 a {
: S8 i1 Z( M6 i8 P; Q: _ break;
% P' E1 d; L& z7 }/ T- r) h) B9 \ }6 Q2 w" o8 f% n+ i
}) M# o( Z2 B; Q) M3 ]
if(isLast)
7 C( k1 Y: R' i { K, _/ w* A* ~% r* s
if(debug)9 L+ p$ c' p6 H
{9 S. ^8 Z/ G2 N: m9 U, { p, n. M
alert("last!!");
+ l! L2 ]- K# p. s* t' C: @ }1 k. ^: A1 Z+ ~8 {& T' P- @+ P5 F
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& G( R1 P* o- M+ G {
- Z* L& L8 y# Y& H& T! M- Y" a# b orgNode.parentNode.removeChild(orgNode);
% o% Q/ k# ~; H" ?8 ?% U }- E6 x. e2 E- T/ b; d+ L# c0 u
}
, ~& `1 }' F2 Q9 U9 p) g4 G6 g3 o else
" {7 ]3 g' s& p& C. v5 w {; R. L! E$ `. ]
if(debug)5 R5 }& X. y0 v5 L
{
1 [0 u) j( i& Z5 u. c" G* [ alert("compare color and parent bgcolor!");
$ a3 I3 J5 c& }$ O% H$ K }0 x+ p: }9 k# e+ b; z+ y8 u
parentBgRGB=getRGB(parentBgColor);* z& E, m! E* x) _" R
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))' t5 h J4 f% C" d! A
{' b8 B# L$ H3 j8 W5 w% U' c
orgNode.parentNode.removeChild(orgNode);
7 K" X6 H! Y0 B# r; }! O4 y- Q$ f }
9 \: Z8 [+ S- |( W0 i }( a9 z6 [) V) |* B' x/ i+ ?. P; M' O# t
}
: k. g* O" C6 R: d) E/ }7 W }1 v# [5 Y3 u- Q4 Q
}" M3 v1 k9 @/ ?4 W' N( z: i
}
, r `8 c1 S! m ) q( s- p6 s5 B, W1 e( J( d
/ S, E. z! G. ?( ]+ M% ^( k
var itemFrames = page.getElementsByTagName("frame");
) R) S2 l% X/ v- P0 w! c1 N var itemiFrames = page.getElementsByTagName("iframe");
9 b9 c7 {2 w2 y; e - {9 a7 y: m; ^! N$ I
var frame, iframe;4 e8 d5 _' r4 D8 }
if (itemFrames.length > 0)
( G; J3 H* N4 ]- }4 R" U7 J {' J: A' Z( L1 ]" _) b: L u( U
for (var i = 0 ; i< itemFrames.length ; i++)
: H6 x \4 P0 c/ ^, Z {
- ?8 G" f4 b4 M0 w! l frame = itemFrames.contentDocument;
2 o3 Z, U" X' H+ T this.RemoveHide(frame,objname); + N1 B3 [$ x' V3 V
}
' `! F# y) G4 z5 k- j) u( | }
5 `; M9 [5 H$ Z if (itemiFrames.length > 0)- B& c8 b- ^3 N+ o0 @, F" u% F7 g
{" s- d) `6 K+ c" z& c5 {
for (var i = 0 ; i < itemiFrames.length ; i++) K& n- I) ? e2 L, [. p6 r
{1 _1 @1 M+ {! A' O7 U2 D" y
iframe = itemiFrames.contentDocument;
" s3 J+ L7 A1 ? this.RemoveHide(iframe,objname); 8 X$ c3 A3 D6 ]- f9 O0 [' C5 b$ Z
}
/ S. C% l/ p# K' u& f% c/ p }
# t: i6 u1 o- }5 H6 P- a; Q" Q }
; c8 N4 Y! Y, E& @! v& B0 W' o9 @ catch(e)1 v1 r, Q& J8 q
{+ b3 ] x9 l8 X: I
if(debug). k. l& j1 e5 r0 p) a5 [
{5 ]& F' b/ Y5 N! ]
alert(e.message);7 y! l6 \7 Z2 Q8 {& o; t: a+ A- M
}
5 n2 V; H( C9 s }# ]+ S2 \& u2 X9 l( A: b; C
}8 Q& G3 y$ _! c4 \, p! Y) [
- S5 g7 G3 N* `+ \% J
}
8 \# `0 ^# O* X( f% W+ D4 ~+ v. M, q) M- e2 I' B. w6 ?
function getRGB(colorString). M7 R$ ^5 m! Y0 B$ t
{0 K$ l, I+ k: s$ ~9 |: @
var RGB = new Array;
% j: Y: |# Y5 ] var tempSting=colorString.substring(4,colorString.length-1);, O& w3 l5 K4 M2 Y4 e$ @
var tempArray=tempSting.split(","); \" [2 U. W+ l- h$ |7 _9 l
% K. m1 o" s( B4 N z3 s& ?- L
RGB[0]=parseInt(tempArray[0]);
, d. t2 R+ x% b! R Y& s RGB[1]=parseInt(tempArray[1]);
/ g' L$ ?3 [+ e/ D RGB[2]=parseInt(tempArray[2]);1 c& ]1 V; R# n v( k) M4 \) m
% t2 F3 [ h3 \* r r+ r1 J& Q
return RGB;) ? U! O" _7 b
}; p; i5 O: D- s
function keys(evt)
2 }- J( _4 s( R) \( ^: i( R {
6 o4 n- ~: S% B$ ] y+ G if(evt.ctrlKey && evt.keyCode=="81")
: p" t: ]. \8 X- ^ {
1 R; c( |9 z( k% n1 O7 x+ a CleanHideObj.on(0,1);
) k5 _; O7 g6 I3 A% A% @/ z alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); % k4 l) q5 U# U" O
: q& V; w- J! s3 y# W } * |5 C2 Y9 G0 u" a/ e H
}
" A, ?1 {' s9 W& a# c. U" Odocument.addEventListener('keydown', keys, false); c% m4 M) @4 t$ Q6 R
GM_registerMenuCommand ('Clean Hide',
; ?$ I( D; U/ b( hfunction(e){( h5 R G. ^) s5 \
CleanHideObj.on(0,1)8 h, G3 V4 I9 p( B) [% I+ A
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
; {" w' k3 k# V1 Q});
- c! y- K; e3 P7 i; r% U) p |
评分
-
查看全部评分
|