|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
: k9 K1 w7 F& T5 }- G
5 k+ O2 h5 U) ?# x火狐插件,用猴子7 W: N& O( {& q+ B/ k4 p+ G
# L- S3 P8 t0 j( P: \var debug=false;
, d4 J# r) B/ W, o+ Y( Evar CleanHideObj=new CleanHideClass();
2 h( v6 Z8 w6 v' A- O: ?( G; r2 l# u
# B5 A7 H0 L. Y2 V, a( p0 S7 @function CleanHideClass() + @; C( I2 [4 u5 S/ r
{ ' e, @. l0 @( S
/ l7 ^& p5 c' n* S$ D& Z9 X |
this.on=function(id,bMZ)
1 z! n) M: N1 D/ o* Y5 } {( w! g0 Q* w0 n k1 A+ h+ n
# ^+ k' B+ I/ r* C7 t: Q if(id == 0)
8 \* Y& r! e3 k, F; n& o2 D {% v. G, Q0 x& y2 `& }
var page=/* document.getElementById("content").contentDocument */document;
; X# w; a! Y M8 B) U7 ?* ]: x$ l, A this.RemoveHide(page,"span");
4 @: [' n7 Q7 C1 R" n5 `9 }, E0 T this.RemoveHide(page,"font");5 g. N' k$ G1 n: s! `4 m
this.RemoveHide(page,"div");
( e, N' |1 @- s* u0 I" ~. o this.RemoveHide(page,"p");
2 E! v- ]/ ?% o8 M 3 E4 T8 y4 y* l2 A- X. Y
}! m/ \3 F" O- v8 g, e2 H0 Z
9 Q2 |) J' V: D
}! Q. V `" W3 @* J3 R' z
this.getobjstyle=function(node,prop); @+ O9 {3 y/ }
{
' C/ @3 t; e( t9 w; X8 c. C! l try; D6 p9 R( |; Q+ `1 l& O! m
{/ D% P9 N; g0 ?$ }9 U: m
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);. C$ v1 M! I. n% d
}: j. L3 c; e% }2 _# A. z7 @0 P
catch(e)5 N2 a, M8 q2 m! ]) L! z
{
2 m A) o6 T0 b9 e: E5 X if(debug)3 j. q4 _6 g9 v) u$ ~1 n
{3 H6 A" r; j4 ]1 p5 @$ b
alert(e.message);
7 ?$ Q& v8 ^$ f/ x4 `9 X }
5 f! a" Q4 y% p ( z( l! U H2 y" H* W: V; r1 y
return "200";, k6 w, c: {* g2 _: k
}
6 Z2 T1 h/ @% L. g2 K; m2 D }3 z5 ~4 E/ N% P7 _* {! Y# U+ @. g
: A* n# e+ ?5 b I! U B
this.RemoveHide=function(page,objname)$ g+ h' }6 g& Q5 c, \5 s$ q5 w ^
{' {. w4 g. F( `; N8 [( ^# q" ]
try5 l L" f+ z5 J/ s% V: A7 v
{
% x+ y, Y: X2 o" I- K: [5 C var minValue=15;( }% i: u! L6 d& t2 B+ A
var objs=page.getElementsByTagName(objname); % N+ f8 l6 a, s2 U; P) x3 \
; P# a r7 U3 R7 H" l& j, m
if(objs.length == 0) ( n' w X+ _2 I" {; v# w: N a/ M4 z
{" \* z5 g" Q: {2 ?# `) B$ i
if(debug)
$ }0 E, j9 q0 v2 ~" S; W {5 ~6 d) B& I- y$ R- f
alert("no object found!:"+objname);, t7 t- {8 C& n" O3 Q6 Z
}) n6 W) a- C" V' Q& Y( e1 j$ n
}" u5 O, V& h5 n8 o
else
+ F7 V+ t2 p2 \ {; R; K2 Q& D) F4 s% b. m. F3 `
$ S$ P3 C3 X0 g, B) m" j for(var i=objs.length-1;i>=0;i--)
5 c# F4 u1 H7 W; t {
0 j8 f6 z8 a, W# r var node=objs.item(i); ; j5 R0 b7 R( V0 i
; d+ K: n; B1 O L: x) x% j
0 c+ D0 R' Y7 P5 |: V. d
if(this.getobjstyle(node,"display") == "none" || F2 C3 L, ]4 N8 f
this.getobjstyle(node,"visibility") =="hidden" ||
$ @7 U7 @3 o4 ~) R. _ parseInt(this.getobjstyle(node,"font-size")) == 0)
7 b2 `' V z3 h9 f G7 f) x {6 T4 [: d! @ `8 H- i
if(debug)
. [0 D5 c- z) |# e3 F4 ~! f4 D {3 g' z' d$ M5 L
alert("remove invisiable!");
2 W; J5 ~2 O8 M }( D* p4 c7 ^6 ?' y5 g0 F
node.parentNode.removeChild(node);) |. i# ?& G8 i
2 M$ d7 u% O7 m' S0 i% U9 H/ c }0 N2 s. h% e3 Q8 l4 w4 ~
else
2 L( ~; J# B3 z$ i* ~ {* r0 f6 I6 _3 \: e( u. k
if(node.parentNode) % i) S9 E; a6 {1 c
{
+ E% M5 t# `( M* s0 I/ [ var orgNode=node;
' p3 u! f: R$ _5 S var orgColor=this.getobjstyle(orgNode,"color")
) z3 ~1 W* [; O* o2 O var orgRGB=getRGB(orgColor); 2 D* b3 m* { e: @3 m# X8 j/ R
, E( \' v z) R/ R& Y7 L var parentNode=node.parentNode6 O# c* P' \& B" J
var parentBgColor=this.getobjstyle(parentNode,"background-color");2 u) U9 _$ D/ I! g" c
' O7 J1 \- _) f/ Y8 L var isLast=false;7 p; @" Y) K$ H/ W2 J
% U0 o1 u% m9 S7 @. S
while(parentBgColor == "transparent")
( B9 K" T& \5 L/ X, r {
0 I: Y6 m4 F. w0 ]7 G! p9 Z2 m 2 O; `" ?3 {/ Z$ }/ E
5 }# a8 P2 Y3 m& |' M+ Z/ ~6 U if(parentNode.parentNode == null), I/ F3 O9 W3 f* f& D+ d7 L" a
{, N5 Z. U1 {( F# x! i/ g
isLast=true;
0 l: \" ~! f/ N; h- R+ p break;9 w; o3 K4 k: {1 x5 S
}0 x$ ^2 R- `* |* w0 f, [
parentNode=parentNode.parentNode; v* r) o) ], D% W
parentBgColor=this.getobjstyle(parentNode,"background-color");
* X2 G8 {5 I o; r+ L+ D- r M9 n: s
if(parentBgColor != "transparent")
( T) r1 v/ e0 Y8 ~& p {
3 \ e e$ d" U4 t8 i+ { break;
: v2 ~" O9 |: C" }* \0 B1 o }
6 ?; z& ^8 y+ q" M- _8 C, Z }
/ Z+ b3 U* n* p# [0 f! I if(isLast)
+ E' _8 h8 {% H9 X {5 @2 i8 G! |9 v& {& t$ T
if(debug)! w$ P R; r \2 S% b- U# N
{. a @4 E# {- l3 L: o* z
alert("last!!");
' V- L8 m% x& z- n! h1 h: _ }& K7 f, J; o: f
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
) x; u6 I& h7 z) K* d* T' l$ M {" m- ]+ q1 F. b1 D6 ?" |& V4 { F
orgNode.parentNode.removeChild(orgNode);
( x5 ~3 r& f. w: \7 M( O% f, K* [ }6 ]& i* L# n, Z. `
}
( Q- B8 O6 N) V- {9 O: n$ d else1 l7 ]0 W" i! C+ a/ N
{
) b- M0 d, B; o" H# D7 [9 e; f if(debug)# I. x L- x0 r6 D9 d; z5 J% V5 W
{
$ u4 ~. x6 Y# f; K" }' {, q+ S alert("compare color and parent bgcolor!");8 k |$ F% r) }7 q. H
}+ r1 g* r9 `" E6 j4 W; R
parentBgRGB=getRGB(parentBgColor);; J7 @) x; {" u9 T n) w
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
# X( E% X7 Q/ F- k( T {, u' I5 @, o+ ~3 y( d7 S1 L8 S* N
orgNode.parentNode.removeChild(orgNode); + b! \+ p$ b2 a5 D5 o0 E0 X6 J
}2 B! N, J7 R" Z0 }
}0 L1 ^2 Y2 w7 B' x/ z' ?
}7 }1 _' W! {) a8 P; m: {
}2 e5 s5 `8 v1 i, q* \& v f
}5 v; y4 M1 R6 }) x& T8 b8 {0 g
}
2 k1 i' f& V! g* u- v3 o* ] , }% @4 m5 [8 {' m+ j |! V6 N
8 i: V! z d; m+ G" w. j
var itemFrames = page.getElementsByTagName("frame");: U+ H k2 c8 t( o, T
var itemiFrames = page.getElementsByTagName("iframe");7 o7 l7 Z4 y; F& D) F+ o6 l1 t3 s
: `5 t) |. [& d$ ?& Q! ~ var frame, iframe;7 D- o+ K9 F6 m3 n
if (itemFrames.length > 0): P, r3 ?# X5 ?- l5 h) e
{
; S9 ~5 O& F# W+ E( y for (var i = 0 ; i< itemFrames.length ; i++) ; E9 F9 o& X: |2 h' G" Q* J. W: T
{: v- _9 y+ o& T/ N2 v
frame = itemFrames.contentDocument;
6 Z# s; h0 I) [; d' X this.RemoveHide(frame,objname); : i1 T* R8 a# O4 u) A
}7 q- O3 p+ k2 x- {% q# ^( N+ h( i
}
& L$ v+ T- Y8 }/ [0 h' E if (itemiFrames.length > 0)' @3 T+ S& J1 t0 ]# g k
{2 E& q1 a! @, c7 v
for (var i = 0 ; i < itemiFrames.length ; i++) 7 w3 N' N p1 M. K1 i5 G, n+ \' n# `
{
1 q- b; @2 v& L S iframe = itemiFrames.contentDocument;! ^& ], o) Z2 U& x. k% z* ^; U6 {
this.RemoveHide(iframe,objname);
5 k/ o) F+ E; q5 G9 } }! S0 a4 P: U* p8 ?! A) J5 b; e3 I
}
( e$ p' D/ N# a7 g0 o/ X }) [9 U0 S8 \% k g, G( l0 ~0 |. ]
catch(e)
. b2 Y. o) v) U; N7 F3 I {4 `1 a2 |' } o/ ~. l7 L) C+ v
if(debug)' y7 |& D- N l* }8 W
{
$ ^+ H ?6 `0 i" k alert(e.message);% T) B1 W; w$ U+ u' l) B5 b
}. q. j* \1 l* ?3 h. r! t* m' x
}
& @0 Y6 c& f |; y% J }5 u8 ?9 `! U; t4 o7 e k( Q
+ x! Y% b @, S) H}3 W5 E2 C h- f7 e8 V: K2 V
' z: H' w9 `) gfunction getRGB(colorString)# ~# d0 I% u% y( C, l
{, m9 ]( g% b* b- S9 d) }
var RGB = new Array;
# f: `4 U- r7 h6 n, g$ M8 P var tempSting=colorString.substring(4,colorString.length-1);
1 W2 d+ m* ?( x9 J5 U( G var tempArray=tempSting.split(",");
2 g: ~* p* Y: ]! [' Y1 }) j$ A8 s, _0 z& b
RGB[0]=parseInt(tempArray[0]);+ ^; d) Q; h8 r" | k
RGB[1]=parseInt(tempArray[1]);
; |8 W4 ?( B& N- _6 y( |9 m( u RGB[2]=parseInt(tempArray[2]);* C5 l9 ^; D0 f5 Q
! U/ u$ V# Z @% D return RGB;
8 Z5 J8 r4 g( `* W7 m3 g}: N0 K$ G, d% c ?6 ~+ `
function keys(evt) " w% R6 B" B9 j+ Q) h5 R. o
{ 0 _4 u$ S' A L" L2 N8 R
if(evt.ctrlKey && evt.keyCode=="81")
! h, _. o; U2 I {
& _1 C' Z6 b, |, {: f3 Z! |0 z CleanHideObj.on(0,1);
( g) T) {) \' o" U- I }% s$ ` alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 5 @* f, w8 j1 V, v9 r& }% R7 B
% _! r' R, U. L
}
! f6 j& q* P% m } 4 b& h7 N% p! ?( ~ M
document.addEventListener('keydown', keys, false);
/ h, P, p& u3 f @GM_registerMenuCommand ('Clean Hide',
% l5 K+ N5 \) lfunction(e){! B6 S* V; [# n, A8 s8 v7 l; I- h& [
CleanHideObj.on(0,1)5 [. U+ U; I) W; f1 H5 \8 r
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
9 J1 @7 a" i) Y+ t- O' S});8 b- I, s8 w! X, d
|
评分
-
查看全部评分
|