|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 8 E! x' U7 H. ^- J7 a1 A/ J& [
$ y- ?+ Q; P8 g$ [火狐插件,用猴子
; o, r( C8 f( m& ?/ @* G3 p% q+ @/ G& u- b4 \ J& ]4 w
var debug=false;
4 L! z0 ]! o" u0 v- |! }( c4 jvar CleanHideObj=new CleanHideClass();, j( ?: r) k+ s; o
+ A C) \' m) i' u& Tfunction CleanHideClass() . N' l9 t& s2 C8 h# n/ J! R% ^/ ]
{
2 x* M& x) g/ _6 U, N" _% Q
1 u. K, }2 t% A- m7 T this.on=function(id,bMZ)
! K! y- u/ G+ `$ I/ O! A/ M {
! s2 M5 a( e; f9 z* k% h
D' Q* W: v5 p [$ I' t if(id == 0)
- U4 c0 n D2 a+ S2 `' n9 A; U {; ~" x* `1 t5 |! F8 U. L5 @9 t
var page=/* document.getElementById("content").contentDocument */document;
! a: c, N' @$ c8 A this.RemoveHide(page,"span");8 ^$ B& V+ u a! D) Y
this.RemoveHide(page,"font");
) O$ }' v7 C3 ^: V; h# H2 V5 B' p this.RemoveHide(page,"div");4 k+ Q4 c! `% l& X
this.RemoveHide(page,"p");
& q+ }: C; `9 x( Z ( F \% L! K6 H9 ~2 @
}
# `% i; K( d' P4 h/ r8 b
4 A, `9 B0 `1 u7 N$ C } t V: }+ Q3 X. g: B( n! m
this.getobjstyle=function(node,prop)
# }8 J. l, G% Y {5 s p( w1 i- y
try
$ s4 A% \/ ^5 T U, v( f {. q+ F, h% M! f; j: _
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);# W1 K) o- x5 a
}
* L( n1 p) d( j7 Z8 K" \0 m catch(e)+ ]+ A+ O, T7 m# e, R
{( Q+ Z6 X* M7 [( j
if(debug)
* x* e5 m) ^$ j3 M6 w {- n% m2 ]. a' x x: w/ j
alert(e.message);8 o+ ^2 x9 @& v& T6 T. C: n
}0 S7 H5 l5 J7 f
2 T$ j) W5 T8 I8 i7 y$ T
return "200";
6 O2 I7 p( f# m8 j+ w }- {) |) ]0 k5 Q
}
4 [# k/ @6 L; s, ^5 K% Q; N ! s6 A& b! S4 ~. G8 Z5 }0 I* x( h
this.RemoveHide=function(page,objname)
K7 l. t- b! [ {
# B* ~7 h% y3 D! |" b Y7 o try
, L% _0 S' C8 f V" X {" J! Z; X" M2 \ }
var minValue=15;4 O, M) O* `! S, }0 _
var objs=page.getElementsByTagName(objname); 5 {0 N, Y8 X( A: P! d" q" [1 v
5 z) r' a0 y$ P/ \* ~" i if(objs.length == 0)
1 h( A! p& I+ ?/ k {$ d# F3 Z! W4 t) _3 ?1 j: @( i
if(debug)5 w, E" f6 |) g7 _" G+ H4 x i2 o9 p
{
6 I7 i) C% Q5 O4 B0 z alert("no object found!:"+objname);7 m% M. p( G( A) @1 }: F% f
}2 h4 \" W6 |5 P- o! Q) p; I: q
}5 u* R; e- p1 t7 W8 S B# k
else
* C4 a: X' K5 m1 N7 v8 J x- ^; V {
! e7 {8 K& y# w! ?% C + D u8 o5 X' S" O& I3 F
for(var i=objs.length-1;i>=0;i--) 9 R( w5 o' g' f7 w
{. \$ d- Q- O4 [* ?
var node=objs.item(i);
9 F; _1 l% T S. _! K% P$ k
_8 o# ?8 M. n/ o0 j0 ~ 0 F3 j0 _7 g \; G9 }/ |
if(this.getobjstyle(node,"display") == "none" ||
9 }9 q$ M0 l4 p this.getobjstyle(node,"visibility") =="hidden" ||
* P! P; [7 V7 Y+ ~: _, S9 d. N parseInt(this.getobjstyle(node,"font-size")) == 0)
: t* ~* ?2 A) ~+ N$ j {2 d: [6 l# `$ m _' \
if(debug)
" g6 F2 E& H! F7 T/ f0 C {. y$ {8 D! Y+ f: _ f' z- v
alert("remove invisiable!");$ m. E( A: x" g( T, V! N
}* s/ D! _3 M- m( ^
node.parentNode.removeChild(node);
8 I) q; Z0 k. S( b, l # \. E6 k f5 o1 M" k
}7 b( \7 _6 t4 S6 {# M
else
! [7 E0 `7 e$ j/ k {
& T3 U) g$ _0 J# J2 D if(node.parentNode)
+ a" M" Z1 X3 ^- u0 t/ b; @# v {5 y; y6 w" t- s- L0 u. e b
var orgNode=node;+ N/ t& ^6 e- m6 O# c9 p: I
var orgColor=this.getobjstyle(orgNode,"color")0 g* {6 {. t* l- V s
var orgRGB=getRGB(orgColor);
% M0 Y+ s. `/ Y
7 F2 {* j o1 f) N0 q var parentNode=node.parentNode
" }; H: X! s7 S9 l( R" M var parentBgColor=this.getobjstyle(parentNode,"background-color");8 Y# f4 z* h1 x1 B! L7 P! l4 O0 p! F
! P S- \; X7 n$ B3 ], ]; M
var isLast=false;
( ]& n$ C. x) }( f. Q. v) o ) E; U, X' |9 f0 p4 ^# ?& O
while(parentBgColor == "transparent")
% R/ e1 m& n6 J5 @! [' L" U2 @9 Y {; W1 f& z6 ]) {3 j' N
. m$ Q0 K3 P3 B0 |' M ^- ~2 u
' P& N( @5 u5 E: g* F
if(parentNode.parentNode == null)
% S( K4 o+ `* R% V- f n {
# L( h- w: |$ q. ] isLast=true;
4 s6 F9 T J2 z5 o- T$ g' W break;- B1 ?/ A6 T5 w8 K# Y5 e+ i0 t+ p0 x* ?
}; M- d0 q0 m) x: x I' @# n$ i) L
parentNode=parentNode.parentNode;
9 T: h0 j* V2 I9 U parentBgColor=this.getobjstyle(parentNode,"background-color");$ f- c, d: \0 c0 f
/ q: h1 L0 `2 T2 f2 D L9 Q if(parentBgColor != "transparent") # s, _! ~9 j& J% \4 r% p& g& l$ s& d8 {
{
+ K F! j% S( K3 F. S K break;
# d( A: v- f; \* M _/ u6 I }; k: V$ L* X% \+ J! Z
}
; a% s, s3 N$ u9 J: j& l if(isLast)
% ?2 y; f& S, p0 V7 O) Q {
3 o1 K& R8 Z9 [! P, T7 D0 {7 Q if(debug)" t" I; q* c, _. P a: u. `! ]! C
{
+ `7 R# u5 ?2 c2 Z) ^ alert("last!!");& _0 j. m5 G: ~4 H, V2 e9 w
}
( n6 l. E O: r) c( n if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))" B: l( v6 h+ |2 V8 L
{, T& x2 t, ?- u$ r
orgNode.parentNode.removeChild(orgNode);
/ h9 X& R( Q4 F5 k& a }
# L' ]% M% J0 j! K2 Z }; _7 j2 c, u9 H. t5 u
else
9 D: x2 L9 |" w& _/ N2 P b5 E& ~ {5 P: B" C Q6 O( v4 X
if(debug). y8 D' ^8 e& t1 [2 m. W; A
{
2 I: i* ^- ~5 r alert("compare color and parent bgcolor!");+ ~8 O% e: k- Q! x
}" M: G7 d! V& x. q) N
parentBgRGB=getRGB(parentBgColor);3 d! ]0 ?: f0 ?- \: C, P2 C
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))9 W; b& i! m9 j8 f" H: c
{
d: N. v( ]% z3 r" q orgNode.parentNode.removeChild(orgNode);
' t$ y o8 k8 j1 @! Z( ` }
4 I0 n, _1 l) e }
; B9 F' G4 c) l1 _# j) D }3 t0 f# e% R) {: U4 ` v+ q
}$ L5 \; t4 Z7 ^) Z' k
}8 s, a, ~+ J* B' }9 B
}
& S( j- a. \4 O5 N0 G7 L " ^6 H* a6 x0 c* y9 f
3 F) P G! G- `* Y' u. f
var itemFrames = page.getElementsByTagName("frame");
" n( G, R/ U* u var itemiFrames = page.getElementsByTagName("iframe");' Y H1 S3 ? m
; B5 l8 O# ^9 Q- V6 U6 D8 Q var frame, iframe;9 y! [# N. o0 j' Q( ~* ?: L
if (itemFrames.length > 0)9 o- o* H+ i) u# o* _7 N+ }
{" f/ v( n* p, k; K& }1 u( x: T* H2 o
for (var i = 0 ; i< itemFrames.length ; i++) 1 {- A' m8 q. z6 a/ ?& ^
{! w1 H5 o9 S1 ]& R
frame = itemFrames.contentDocument;
/ d7 [, m: j2 o1 Y4 w9 }* Y this.RemoveHide(frame,objname);
2 G7 ]' j$ w# T ^0 w8 [/ t. N }+ J) `( p3 @. z3 a3 V) ], V: _4 P' k
}
) K# V" J3 }8 L9 h! J, |8 f' D if (itemiFrames.length > 0)
/ a: v6 Z) g4 y8 m' t {' H$ v1 t' A& K- i( \
for (var i = 0 ; i < itemiFrames.length ; i++)
# ] H/ y- L. C {
5 Y6 |6 P& I. {# a iframe = itemiFrames.contentDocument;) C. Q F, l/ i- a2 k
this.RemoveHide(iframe,objname);
# I( _5 L& r, ] }
9 z# ~7 W/ R$ w, N4 B: ^ }
5 ^0 P3 f0 M q; H2 {% I }: x! X* A" P" J
catch(e), ^. [5 L( B/ I5 F- j, B
{, E- |; r9 |* j: w
if(debug)
. @. N4 L( ~' G- f/ b* S5 L {8 `' x3 n3 a9 G( Y
alert(e.message);
+ \7 u9 I2 {7 L5 d }
& B! I+ J* z- q }
$ k9 V, K6 m% Q5 W/ Z! l }
0 N* K; l# E( z5 l& M$ h1 b
% t% @1 X+ M% J4 H) G: |1 N& l% Q+ ^}* a& w# W' j7 s6 w2 {9 |
3 Z* l' u3 u0 \+ ]7 c) f- Sfunction getRGB(colorString)& d3 i, |3 p7 D8 C
{
* l" I* X, U5 C+ T; H/ c$ L1 } var RGB = new Array;
, Y% T/ t$ Y) g: g4 U8 r var tempSting=colorString.substring(4,colorString.length-1);
4 c* e0 [9 g" W# Q var tempArray=tempSting.split(",");; ~& S% r& L, H4 i- S, A6 q
M4 U/ g' }# l
RGB[0]=parseInt(tempArray[0]);, |1 {- g3 r7 W
RGB[1]=parseInt(tempArray[1]);6 f1 S* E# R& o6 y- R( O1 y: R# _
RGB[2]=parseInt(tempArray[2]);
9 l# q3 D9 o2 X- v% y+ f
# ]3 {! x5 f$ Q5 d5 z5 Y: A: N return RGB;
, A" p" q* E; O# P$ ~ [6 r" M}% E' e, M9 ?. w8 [
function keys(evt) $ T8 `. ?* E% ?2 R
{ + d; n( r* L% Z8 W5 ] h* G
if(evt.ctrlKey && evt.keyCode=="81")
! V0 O2 @, Y) }4 H# E( C. D {
5 U4 L. d3 a S7 [: j' ^' } CleanHideObj.on(0,1);
( `) ?( h, |! Q- ^4 v alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 0 Z2 j" F# Q! S* S3 b
, Z, g ~8 w6 M) Z }
. C. L& ~( b; ^5 e: o }
2 z& b; ]0 _! @6 v( Mdocument.addEventListener('keydown', keys, false);
. S, @1 h- o0 a6 F e' E) oGM_registerMenuCommand ('Clean Hide',- [9 d% S) [! ?8 K& n4 G
function(e){3 r+ [, g/ x; t$ I
CleanHideObj.on(0,1)
$ j4 F/ W$ D( T0 `# y/ N+ }( `% M: \: _alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");& I- j& A9 z) i# d2 w6 y
});
3 F+ `( }1 _/ Q9 Q( z% m5 y |
评分
-
查看全部评分
|