|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 $ b1 R; S8 f1 x; _
# V. U3 t& d0 F8 N0 j; G' V
火狐插件,用猴子
9 P: N$ f" r6 h z0 C5 j$ {# M) N
: y+ k% s; L9 t+ b/ }9 d [! | Pvar debug=false; ( X- V. h- _9 o, {' P
var CleanHideObj=new CleanHideClass();
! j3 k$ b5 |8 z; R n2 S+ N8 \' t! ~- p* z7 e7 V
function CleanHideClass()
2 q9 r1 m3 y1 K( u5 T$ f{ ( E o8 t- J, i) Y2 f
! I' ~- V" T* @3 Z8 t
this.on=function(id,bMZ)- z. j- m+ R3 k; W) @& G
{
* Y) l& u. K* S+ w0 x( \
3 y1 }0 m3 H( y if(id == 0)+ d9 f' q' u E+ o1 u
{/ G( ?; G1 D `4 _8 l; h5 @
var page=/* document.getElementById("content").contentDocument */document;
7 g' t0 L9 P0 R5 y5 D this.RemoveHide(page,"span");
1 `4 y8 A5 f% Q) |& M this.RemoveHide(page,"font");6 Z# R# C; V. Q
this.RemoveHide(page,"div");
$ U( R6 [6 u% r2 F' X; @ this.RemoveHide(page,"p");0 I2 v& f+ ?# ]& o' j7 I2 Y4 F" d9 ]. O8 k
5 `! C! \# n5 \, q8 ?" ^9 d }; k1 b. S8 R: E K: }% e. J
* W0 f3 |, L p4 N+ X3 i! Q5 p
}, ?9 g0 Y( G+ R( h' ^. j/ p
this.getobjstyle=function(node,prop)
0 O+ C1 F/ A; ^) c% q- }# _' h7 o+ t {
) e& P6 i: `1 G* c0 b try
/ W2 n1 _$ S! I4 G {
/ s0 i* C4 ?5 C$ n6 W& b" A return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);
; X4 D- ]2 |& `: G: P7 l" X& q- s }
1 R0 A" F, j+ v' e5 E: z catch(e)
" Z& n" F" P3 Q- F- u {, d- u9 Q1 g% z. b5 D
if(debug)
s6 R- [) `& O1 w {2 N0 ]7 ~5 H' [
alert(e.message);" u2 R! I. C2 Y2 \
}
" f( g3 J) i; B$ v $ F/ J) T( [& Z$ X
return "200";2 K1 u% M# ]- D
}0 R- A' \* ~6 a% t2 k
}
3 ?! }" U( e ]7 A$ V6 U4 T # x: z: X+ p' @ N j
this.RemoveHide=function(page,objname)
! U0 Q' ^ H* T% } {% a1 D6 }3 l$ a+ j0 W
try9 G+ j& T! V7 q w8 ]1 U5 V. b$ S
{8 X/ C( y ]3 N+ \# h" I% S
var minValue=15;
" y3 k! c6 A- E: _7 a( D# w0 [& m var objs=page.getElementsByTagName(objname);
. ?7 m' \+ d9 l0 m9 ^
, Y$ w, q2 N) E/ H if(objs.length == 0)
1 R+ k3 G4 ?& [3 p( d {& o- V0 @1 }0 D& _" [* O1 t% D
if(debug)
- Y$ W/ Q4 Y( r6 ~! G {9 H2 b! d; h+ q' T: k
alert("no object found!:"+objname);
: _; ^; i, h; n }
& @" T7 l6 F4 T) G }
% p. G' n+ T7 _% u* x: x5 q else' r7 }# J% a& M4 [/ a5 X
{
" m1 p" |8 M" g- ^* ^* ~
1 S, { W* R# \ `% b/ @5 _% x for(var i=objs.length-1;i>=0;i--) ; B. C- M5 i' G9 b4 y5 j
{
) N u+ N( u8 O$ t- H9 h var node=objs.item(i);
2 ?4 Z" v; s0 S3 x" m. V * K0 s9 L% p9 y x2 p$ a
$ X, G3 ^# D+ B/ A! i/ t4 G if(this.getobjstyle(node,"display") == "none" ||. [0 e3 q7 \! B3 D% W6 b- S
this.getobjstyle(node,"visibility") =="hidden" ||0 A. z' b4 E9 b- O
parseInt(this.getobjstyle(node,"font-size")) == 0)
# J! u$ ^' X) w5 e& U {
; v3 w! R+ o* C8 C2 M, N( s: \ if(debug)+ x5 Z3 {: I4 H1 ~- L# s7 ]: W
{ w# ~7 }, d/ b& ^- i K9 u' w
alert("remove invisiable!");
+ N9 [7 M" a2 N# F' i8 w3 c" g }
0 S' u" v5 F7 B; ^* ~2 C node.parentNode.removeChild(node);# ?9 q8 d' x3 u9 u/ c3 M
0 S; n! r! A7 F* ]4 f! k, | }1 _7 ^) @6 L6 P+ }
else : T8 l- T# O4 ]
{
/ a0 i) ]' G+ H _, k if(node.parentNode) 0 l1 O# n/ F& U, b' I0 o5 s
{ f; E* J0 l( d
var orgNode=node;% z" Z L1 F. J9 X$ ^" y$ P' x
var orgColor=this.getobjstyle(orgNode,"color")/ ?( f3 X5 [) j( @
var orgRGB=getRGB(orgColor);
1 Z0 A! R2 M: P/ U. r y7 o) j9 m1 @0 u; L: I" t% _
var parentNode=node.parentNode: A0 u X& w _/ b+ l" n! n5 f3 {
var parentBgColor=this.getobjstyle(parentNode,"background-color");
( r5 P U! ^7 D; ]* S
% s. R9 z Q8 ?+ M( u' J var isLast=false;
" d R. a' m {+ B6 ? 7 a6 u9 q" S$ j
while(parentBgColor == "transparent")
/ m0 z! F$ W0 U+ v. [6 W( O9 x {' g/ n/ Z) q( g( u
$ _. D4 M. G0 v+ E( w) @ # H$ q* P6 H# p1 j
if(parentNode.parentNode == null)
( s( G1 q! [3 o( k+ R; I {- Y, ~3 x0 y- w( t
isLast=true;5 ~, E% @# s. l0 P0 z' q
break;1 e0 ~0 w8 z/ `' o
}& c' @/ T! E- B+ ^ g# e
parentNode=parentNode.parentNode;$ ?4 ^1 ?/ n: _4 R- y
parentBgColor=this.getobjstyle(parentNode,"background-color");! M/ u2 A4 q8 L
/ c( d; O9 N( T& M7 L9 n
if(parentBgColor != "transparent") , g9 L: ~+ _" Z i
{
: u1 S2 m% M n3 s break;
1 ^" N" Z0 s( n% C% n' Y0 { }
3 `8 A& `! N2 _1 t }) ]: R* E2 k+ A$ r- N: j
if(isLast)
, O( G7 q) S3 F' N9 w/ s3 g2 h) Q {
$ K8 v, R8 y. h+ |& ` if(debug)" d" u, ~7 c3 x% |6 `
{
3 K2 L4 [6 z u j alert("last!!");
6 W/ {6 m4 i5 E8 w7 T9 D* I }2 P6 |2 J% b! G* t0 h6 x3 w1 E
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
& m, ~; y$ Q( g0 w# \. K {/ T( L p$ \4 L! F
orgNode.parentNode.removeChild(orgNode); + _4 y1 j0 m* x6 a% h7 v J
}! D. J2 X- r' r2 f1 g0 j X; @
}9 h z( s, J: e) k2 S
else
& [0 x( z6 \, C# k {
% C" \8 m, X9 a$ O D/ @ if(debug)
- Q8 L& |6 z* K, a# j {' U- u; o( ]- ^7 M3 N& H$ R
alert("compare color and parent bgcolor!");
, A0 t6 A0 d' C; C8 k+ W }
" p Z# d% A. `* D; e parentBgRGB=getRGB(parentBgColor);( k' E2 ^/ [! t0 L) E/ b
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
5 `: [/ Z1 N2 `- z, ~9 u {
5 b" `9 ], h9 P. h! F; h orgNode.parentNode.removeChild(orgNode); " M+ q. F4 m- \: x
}
' @' s2 T0 j7 I3 Y* C. d8 ^7 B- b }/ Y3 L. e: A" U7 O) Q0 ~
}
8 E2 e) a$ ?5 i9 u2 f. { }
- w8 W6 c2 W8 p" |/ k L }
- h& d; n, |8 V! r# o, Y" F }1 v ?5 ? n) {5 ]" J4 Y: K$ N
. Y; T( T( d( j% c5 ^/ n 6 Q7 y0 h0 ^1 I/ i% T
var itemFrames = page.getElementsByTagName("frame");8 K/ o" P1 y# \" {
var itemiFrames = page.getElementsByTagName("iframe");
/ J9 h0 i2 Q& l0 T/ z0 d$ g V
4 u% g+ \/ Y2 W% V var frame, iframe;
/ x0 b3 o5 I5 v3 e# G# t if (itemFrames.length > 0)" Q+ B7 K9 M6 R$ @
{
+ I! |' D6 w P) w for (var i = 0 ; i< itemFrames.length ; i++)
1 F9 m9 j8 @# B H' C {5 c" l+ [, \ R" }
frame = itemFrames.contentDocument;1 K( P- K. @# M P
this.RemoveHide(frame,objname); 7 o- f- B/ e( _+ X8 w6 W* a
}# j6 F! L$ _4 n/ j/ K2 q
}8 b, R. Q- R8 ?+ T, W$ t
if (itemiFrames.length > 0), e& V9 _! g" N+ w' j; k
{3 T$ \/ D; d# R! F, M6 p' k) W7 ?
for (var i = 0 ; i < itemiFrames.length ; i++)
, C+ i- R1 f! F+ T& C: p" i: } { O. L4 s& J' v5 U
iframe = itemiFrames.contentDocument;
! D Z! g9 [( Q3 l6 M! m3 x5 a this.RemoveHide(iframe,objname);
' S) G4 w" H' ~ |$ E3 E }
8 C. c% N4 f7 c/ f }3 z; c5 o; F$ z Q
}
* b- @$ n E9 C! l6 w* ] catch(e)
% ^$ e& o* h* E' M6 a2 I {% e6 E, `- z( m* w; F$ V0 i
if(debug)* Q, Q9 P2 ^ b
{% P# L. @% o, R; z$ _. q7 I/ T6 W" L
alert(e.message);2 I& G# Q. m% _# m1 c. C
}
2 {! p. W( l7 E6 e$ g$ k1 X1 u }
/ C% ^, R0 c( x" d }4 i6 I% m, b( Z2 u% |# O
* g) H# o! b" A! ^* s, ?$ ~1 |}' b3 E0 Y( X" B" \# v7 H5 V
* W- w4 t& j9 {3 w& B+ I
function getRGB(colorString)0 _% R; N) B/ Y. g) _1 e6 g
{# \1 u! F" c. I2 k5 C: L7 D
var RGB = new Array;( _ p% F, m7 F( ^
var tempSting=colorString.substring(4,colorString.length-1);' w: V) d2 h1 Y' S8 Y
var tempArray=tempSting.split(",");
) N; _3 p3 f( `& n" Y
% C7 _9 v4 N. l( x& N9 R6 f7 Y/ @ RGB[0]=parseInt(tempArray[0]);
. p Y# S- \9 v$ k& P9 _! ] RGB[1]=parseInt(tempArray[1]);
5 [ O- N$ u8 \( u2 S( C RGB[2]=parseInt(tempArray[2]);
- j7 v! ?- s. q' d4 U0 ^7 A- ` 3 o6 ~$ F5 y. k8 G- f
return RGB;$ s- b5 A7 x! D7 a# ^
}9 o) Z3 `0 Y' P# d
function keys(evt)
- W# Q0 O% @$ { { 6 ?0 \; X; k7 w% ~* o' c' w
if(evt.ctrlKey && evt.keyCode=="81")
: b8 l* \, C8 E0 u( a, Q1 Y {
. @4 v) a W; y/ l v5 h8 P CleanHideObj.on(0,1);
5 ^4 V/ Y6 j, S% Y* v5 Y0 h alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ! q$ e/ v3 @5 Y: z& ~5 c1 o: r
$ a* V+ {7 \+ [" d
} 6 @8 @ B- A% P1 w, |- B
} 3 H' C* L) S" g' \/ ~" ~
document.addEventListener('keydown', keys, false); + W" M9 n9 Y7 o: z. s
GM_registerMenuCommand ('Clean Hide',
- e* p7 |: ]9 Q* F. Q8 i" jfunction(e){
& a! b+ D# H! ~! ?0 h' GCleanHideObj.on(0,1)
( p( {: _* k" r: D3 t& @- B0 ^alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");4 \ c5 R8 F- \+ k
});+ E# R/ ? N8 J! O9 e/ e5 k8 ~1 Y
|
评分
-
查看全部评分
|