|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 # l. |% J( h+ b6 |2 g# x. H1 k5 `
( o: Q3 G: j1 r" z# v
火狐插件,用猴子
3 Y' I) m0 [4 i6 x/ g" p
: H# l6 G& v( a8 pvar debug=false; * J% o4 F+ r9 r {1 P. z
var CleanHideObj=new CleanHideClass();8 B9 @$ o1 Z# A* o$ i
$ ?- a- G' a) _2 Efunction CleanHideClass()
1 p9 k6 U9 Q m0 [/ g7 K: ^{
2 B: E4 Q6 ]0 B0 M ; R' [6 V6 Z5 A& C% b" v) B' e* k
this.on=function(id,bMZ)/ T! a" x# r4 s @1 k
{
, a* E$ s% V" F9 h0 i" }
5 Z) J1 L, B) G+ A if(id == 0)* |! y4 d% O- A" _* k h4 `- G
{
. ^% R9 u: ?' v var page=/* document.getElementById("content").contentDocument */document; . [3 {4 A% _4 {; u9 [
this.RemoveHide(page,"span");
+ a& U' w1 V$ w7 u. U: K. e this.RemoveHide(page,"font");: ]% u2 J T2 H! q# _' D
this.RemoveHide(page,"div");, A5 m' m" A8 u# e+ Q
this.RemoveHide(page,"p");
5 ? ~2 c/ R( n1 h* I' ^) K ! @$ b+ r# i& }( r
}
" ` l h& E; B( @3 U7 x6 m# i+ ?. k / b, `! Z. x1 ] P7 t
}
: ?0 s, q9 ~( i* b8 Y( o this.getobjstyle=function(node,prop)
$ A1 A; f: u) C( | {
" J E, L6 Z8 u: K# U. v# ]% n$ S7 ~ try
1 m; f& O' w# c1 y" a; L {
2 b: I4 |& U: J) a# ~ return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);, u" f: [+ |8 h+ j0 I5 w% Z( v; C
}0 w, R' l; l+ h* \
catch(e)8 C5 i# C" j% V+ }4 H( Q
{
3 \4 V* E' p7 [6 z if(debug)
1 \% ]8 F* X" w# X' H4 [/ h/ p {# j @: X: u* p( R3 f, J
alert(e.message);& ^. v* q, S2 s; o
}7 Q( y: D- \0 S+ t/ _
% \3 p" X9 y( Z& ]: h2 G
return "200";
& {2 O9 _7 A8 J9 S: K }% @0 s$ k+ v0 L/ c
}
7 r8 w) w9 e& |% V/ o9 f0 P2 p+ h
G' I9 u4 S C" X* W9 E$ j1 d6 J this.RemoveHide=function(page,objname)$ I( b5 m4 d! x; \+ w, `
{
- P6 `3 t# H; r6 m. n. G try
8 w) S2 v' ?3 m5 v {
' P; i+ G, l0 s9 `/ ]2 D/ R var minValue=15;
- ~# q' t. x$ r# c# X ` var objs=page.getElementsByTagName(objname); * a) F4 }! N5 M4 P/ q* z
, q' A5 R' v* P# i2 z if(objs.length == 0)
4 |) b1 g R+ \# X( F# U! s; [ {
( Y b# W. s" S2 Z if(debug)
' M' f8 w. u2 h) u& I) A! Y {# H- U! u* w' X+ S
alert("no object found!:"+objname);% R' F( {5 t) b
}5 C+ N0 a$ S% j- v$ K8 S
}; m6 t5 {: f- M1 D( t
else
5 h; q6 M0 i- X3 e7 P! F+ c {6 q: z; s! A H' O, M/ G" E* O
6 L4 q- s) s: _6 i- | t* k for(var i=objs.length-1;i>=0;i--)
) f2 {( f7 l5 F# H2 ] {; y1 b+ i/ t/ \) d# J
var node=objs.item(i); + W6 u" I5 v, @- P9 i+ b
$ g! I, f6 @; Y: L2 q/ p
+ T! \5 `6 o& k; X if(this.getobjstyle(node,"display") == "none" ||$ N& @* j2 {4 D. @: C) ?9 K
this.getobjstyle(node,"visibility") =="hidden" ||
( F& x; ~. M/ P' O parseInt(this.getobjstyle(node,"font-size")) == 0)
/ `5 b- C( C2 R( p* u {: B8 d6 ~" Y- y% A. h5 I, c2 N
if(debug)
! S; X, |4 y2 j2 a2 l. k {
. B6 l, E8 [ S% t/ Q4 A alert("remove invisiable!");: O4 u$ l. I8 l/ @7 V8 s
}
1 m+ c- O0 S# y6 a2 b# a node.parentNode.removeChild(node);: x1 s" o( z, p( N8 y4 `4 Q# Z
2 U) O( B* h3 k; _# R, _. E: n }( v G7 y% H4 Y
else
9 E- r( L9 { P( v. n {6 _) ` c$ C* [' y+ ~& ?
if(node.parentNode) 0 p7 F0 @7 c1 o/ t
{
- D8 L% L" ?, w/ W) N, t var orgNode=node;
n. H2 G4 C6 } var orgColor=this.getobjstyle(orgNode,"color")+ U5 E; T) G( h. L8 R6 x) y
var orgRGB=getRGB(orgColor);
6 |$ y/ T! ?7 G& s4 d- \0 r , I+ q/ X" s3 U4 Z
var parentNode=node.parentNode
6 @$ \4 F; H9 i var parentBgColor=this.getobjstyle(parentNode,"background-color");3 c4 L4 `3 n7 L+ R; @
2 g- a, F3 Z ^ var isLast=false;) _, ^% F$ ]" k8 ~
+ q; \7 U V" i# g3 z while(parentBgColor == "transparent") / z/ N! s2 P" Q. b$ g3 W5 ]3 J
{1 R3 [+ f5 m6 V
7 `" m M& x6 _( f- E
$ F+ X' i4 ?8 }+ i# ^
if(parentNode.parentNode == null)- X3 S4 y3 ?) e
{
, @/ i! X' W& ^4 {! z S8 q isLast=true;/ |: R2 i2 E, U7 B7 a4 m+ u: W1 g
break;
# B! V+ O. l# ?; l# B }5 Q5 t9 P! }; L
parentNode=parentNode.parentNode;
! l. K7 d4 c7 a parentBgColor=this.getobjstyle(parentNode,"background-color");
. s* e, z( X1 V5 M' s- D$ ]0 T/ z6 c7 B
if(parentBgColor != "transparent") 8 S3 c' F& E8 }5 Q- o9 W
{
4 Q4 d& ?; a7 y2 \+ @ break;
! R0 q! \5 s" V }8 {. {" V6 d: t
}) _( x# j& s) Q7 [
if(isLast)
B8 G0 @6 ?0 E8 {: j5 H( G0 q {
* ~: ~ f$ Y: ~/ u. c1 D0 A% A if(debug)
) U! n% U$ ~2 C {2 a) `0 g! J( H8 M6 y
alert("last!!");
/ Q' P2 j+ T1 t2 u* n }# ~; ?7 x: Q7 a4 Q' {8 T6 H3 E& I! X
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))8 |0 v' h- _' c8 Z
{3 `' M- U, U7 {# }& ?. ?
orgNode.parentNode.removeChild(orgNode); 1 Q5 f; u7 n4 ?
}
% T4 d* n) I) c) Z; j* n% c1 q+ U }
$ q6 O# Q) K0 D8 A/ a else
2 i( a0 F2 r4 m% o* c# u {
3 v6 ^/ m1 H" f if(debug)! C: o$ q( o, t4 S& y Y& C+ ?
{
- G# Z8 |' d2 H O4 D" d' k alert("compare color and parent bgcolor!");# r+ n# r$ M( s9 a, m6 W9 f0 {
}
) p' E% T! m* Y4 t parentBgRGB=getRGB(parentBgColor);0 C c0 ^# [0 x& l8 \/ k% C
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
+ F8 F. i$ S& M% r5 M# b& ~) U {
3 s) m5 Y, Y8 c8 I& m orgNode.parentNode.removeChild(orgNode);
$ I9 e. p \( s8 _# j+ P: M# Z }
* T9 s$ w( [' a3 d }
: g5 L+ \3 Z* u/ D }6 _2 N4 K; [+ \' \4 |- `5 [
}
: K; p, u' C6 ? }( x& `! C8 t; o3 p3 I% q3 q1 w$ s
}) F" B) w( N7 x
$ D. E; y5 t i ~8 k, b 1 V3 T: E& C1 j
var itemFrames = page.getElementsByTagName("frame");, D/ G3 g) i, \, U$ Y) _
var itemiFrames = page.getElementsByTagName("iframe");
# q( W$ p2 \% t6 p6 u
) D( h5 T4 \- A% a# D8 J i var frame, iframe;
1 A7 J6 O: T* ~7 X- d7 z1 G. V. Z if (itemFrames.length > 0)
$ D( N T9 N* Q: P5 d T. l {
5 r. H5 V9 S8 O1 O for (var i = 0 ; i< itemFrames.length ; i++)
( l3 `2 u9 B. i {& U$ h* e' G1 }+ T* S. `! R2 J1 G8 j
frame = itemFrames.contentDocument;: n% v7 D5 H! z- ?9 }. x) A$ t9 ~
this.RemoveHide(frame,objname); * {0 a$ S; ?" I
}
& B1 w" b/ p9 s3 J# {" ? }- e# l# i) A9 y2 U+ S" \
if (itemiFrames.length > 0)
0 ]$ t; r/ c8 y( K' B1 l {
% }) S1 O( u+ j: A for (var i = 0 ; i < itemiFrames.length ; i++)
2 D$ F' L9 _2 a# {: o7 d# ], ]3 m {: K2 i5 N& O8 I. x
iframe = itemiFrames.contentDocument;
6 S3 O% c* K0 ]4 o this.RemoveHide(iframe,objname); r- [ J( z( c \$ _4 v
}
% D% d9 S& }, [4 d, Q0 Y! L+ B$ i }4 w# @$ y) n' H* R. q* _
}2 m9 D1 H y2 V! t. V! h q( b( s
catch(e)# r& |( O+ g) E1 ?$ e! v6 _7 _8 k
{0 y0 z% a- k; y$ k
if(debug) |/ B2 O; G. Q. M
{ \. Z7 B4 }$ k+ G
alert(e.message);" g$ {( W. C S4 V
}$ L! `! e4 B3 R
}
9 h! ]' I. o. }6 R0 `, s }
+ m) w' b( x. b& W + t7 @0 s6 L% M6 Y& u7 f
}) j) i8 P6 G7 w' U' s0 P4 _
% E; ^) t1 [: x* efunction getRGB(colorString): {; {- Z& C2 f- T% @& j1 U
{
4 i8 {2 c5 g+ W% N var RGB = new Array;0 r( \! l8 r7 Z9 f3 j3 K
var tempSting=colorString.substring(4,colorString.length-1);" g- A% U' K; f) z6 F1 q
var tempArray=tempSting.split(",");# |+ E- L! Q( Q* ]7 S' E$ c
& Z7 B: W. Q# U/ @
RGB[0]=parseInt(tempArray[0]);5 l7 Y1 R3 a" @% Q
RGB[1]=parseInt(tempArray[1]);! ~! \2 p a0 c
RGB[2]=parseInt(tempArray[2]);' D, d, m! h1 {
9 {, A- x8 C* V7 p return RGB; W: Z% Q- ~) ?$ H4 o
}
5 `/ P: B( e+ ]function keys(evt)
% m- X7 y3 F* W, I$ c- {2 x {
0 h0 L1 L& N, h$ h+ Q if(evt.ctrlKey && evt.keyCode=="81") 6 s b- o F8 K) b
{
' d7 A, v2 X- {" c CleanHideObj.on(0,1);, n( |# l. g% u
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); ! i0 u( h; q* z2 a6 x' M# c' E0 l! c
- j2 t2 c) N; d; @) A9 v3 p2 J }
7 W" U3 N0 x* ~% h- R3 i } 3 ^0 j- }1 F! [
document.addEventListener('keydown', keys, false);
8 I# N' u2 u& m3 s: q a5 ~GM_registerMenuCommand ('Clean Hide', B$ S% ?. u5 u& O# x2 \8 W
function(e){
5 z. D$ p9 F( s# z- @" A: }- R( F) TCleanHideObj.on(0,1)* C, Y: y- M+ R# ]2 ~
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
$ K9 Y4 i6 m m" e# m% u});
' L/ ~2 J* p o |
评分
-
查看全部评分
|