|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
8 R+ I) ~+ [$ F6 ?* Q' W5 m5 l; w
0 j2 n) X% F! d火狐插件,用猴子0 `/ _( n* S- W( A" I: {7 l1 [
" Q5 F+ r0 u. P" s* n/ p u
var debug=false;
# G" W6 H- A& p6 }" `7 Uvar CleanHideObj=new CleanHideClass();
6 K4 u' @( u0 h4 q9 Z1 ^$ d) Y0 W5 L" H5 z# B' F W8 g
function CleanHideClass()
9 C4 S% x, z: x3 D* U/ E$ q{
* Z- j! O0 B' z' i! `- @( t: x
* B3 I5 |! l# d' p G/ C! e this.on=function(id,bMZ)0 s9 E- n: F6 U- R1 Z3 s
{
& ?% L4 k0 P) s
. g/ S0 u+ s D) R( Q. A if(id == 0)- ~0 e: ^( q4 x4 W* C
{! A. U8 R8 N2 h
var page=/* document.getElementById("content").contentDocument */document;
$ V# m/ A6 B n+ s D- N4 ^ this.RemoveHide(page,"span");
9 y) Z8 p3 q) \/ K this.RemoveHide(page,"font");9 [) O( V8 t. s
this.RemoveHide(page,"div");' u0 L" v2 d# e1 `; |, k1 p- h
this.RemoveHide(page,"p");7 H5 d3 v6 ^5 }7 H( K* R* @8 `
" |: O5 Z0 c! g3 n, |! l) K& i
}3 P) N' w$ l: }3 j9 o; |. M
. } i4 E, Y3 V }, ^& |, ?3 ^; z( W% \
this.getobjstyle=function(node,prop)0 ^! C/ X) c# F5 s
{9 y+ s9 i `0 r# t/ U; y5 n$ H. \! R
try( R8 R: Q- R6 b( M
{, w) W) B- D9 d0 s
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);2 q- @: ~5 a+ f }
}2 K/ _; Z% N' b0 ] g0 [
catch(e)
6 \5 K4 L' J9 a Q& V& x- [4 [: k {% V8 x6 _3 y5 F$ M7 H9 U1 _
if(debug)
5 z9 B' V: A0 w) p {- Z+ ^! }; m. @6 d; E0 j' l
alert(e.message);6 e0 K) G$ O" k7 R$ Y6 o' x* O
}
8 F8 B& h3 I' R) z9 a
4 s- e9 O( Q6 u3 r: @9 _; H return "200";. G+ ~3 ~9 Z* B
}
5 o1 h0 Q* n; V0 O/ b- Y }
5 d. }( D7 L! ~; \
3 b5 O7 h3 p! g7 n$ t! j# } this.RemoveHide=function(page,objname)
# b+ w& J2 m4 j8 N! g0 D% ?* Z {
9 i# S5 F, I, A/ q try
" D! Q ^2 m* H' C; v+ a2 \ {
" Z2 u r' d4 ~- V; x% D var minValue=15;% \9 |9 q' e3 z0 O) Q! \
var objs=page.getElementsByTagName(objname);
' p) \. W7 ]! e& g g& U, S% k7 w4 c+ y0 |! ^/ m' k0 r$ `3 y
if(objs.length == 0)
2 N) v" Y7 O r% ?' `) d {1 {& e5 u/ m2 T4 l/ U) P; y% b
if(debug)
0 o t* J; V B2 k. I1 X+ o {5 g- C; ^9 O6 a) N7 k
alert("no object found!:"+objname); l* Y3 ?" E4 z8 v% W/ u
}
" x; S+ h. |$ F9 ^! K }
: N- X4 M+ T1 [. J. u else0 R& a) }. i" ~0 a) c+ Z
{* W0 m- g* Y5 J" g( {" a
8 O! w/ d$ j5 @' [& P for(var i=objs.length-1;i>=0;i--) % i4 Y' Y9 K* e& E+ _- O' x7 U
{
* A9 q! ~' o$ _5 v* E) W var node=objs.item(i); : \7 Q; ]4 q* T" T
: I2 \. ~& G( l& j/ S% R/ ] 7 v, A6 Z9 Q1 @+ V7 u3 Q6 L" G
if(this.getobjstyle(node,"display") == "none" ||6 m1 x3 u, z6 y. c5 A
this.getobjstyle(node,"visibility") =="hidden" ||& M6 } q% D- ]. X8 c/ h) b" U' U
parseInt(this.getobjstyle(node,"font-size")) == 0)
; f1 k V8 e s% ` [ {
h0 Y2 Z5 W% r) Y* P" ~. N if(debug)& z: n) W! t L/ X* p$ B
{
' D! L% G! `7 T5 q, }4 l alert("remove invisiable!");
9 D# p+ Z9 Z0 D }# L6 j( U4 P( q5 q8 D
node.parentNode.removeChild(node);- w" a9 M8 [/ j8 P2 J( O" K, H
3 J3 n6 B0 T1 M6 n
}
& \1 N1 n) G$ q1 j8 o else
, ~3 s& a" Z8 B" v {1 h/ Z) { j* C# _+ P
if(node.parentNode)
. m2 Z2 q. S. a {
P' y' Z, s0 {4 ~) C var orgNode=node;
* o. J9 j) M6 j1 C+ |0 e var orgColor=this.getobjstyle(orgNode,"color")( i. F! v. e8 ~, l
var orgRGB=getRGB(orgColor); % s* G2 f+ {/ {2 R
7 G( _& M" d0 t( F: x ~
var parentNode=node.parentNode
( X5 |- R: z" c4 ~5 l var parentBgColor=this.getobjstyle(parentNode,"background-color");. h; \- d+ E) d$ g
' g4 v& A( T8 a9 b var isLast=false;. F2 U! F. W4 s. o/ z; s, {8 D
) r$ A; S S0 }2 A Q
while(parentBgColor == "transparent") ( ?' f1 @0 M \, I) c F9 x
{" _3 [) b% U% H
+ W2 `$ S. J) e4 p2 ]' ^1 E : Q3 C- u& `5 w8 a/ B% U
if(parentNode.parentNode == null)1 l3 a% I8 c% U# H5 C* U6 ]$ E
{
# }; d* e" R8 | isLast=true;
3 Y: V7 ]9 U. n( Q2 s) G% N% q+ }( X0 U break;: V& n* ?3 K/ F+ N
}
5 ]7 Q. _9 H, o$ \" V1 c parentNode=parentNode.parentNode; p( d8 |! U8 E. ^. l9 k
parentBgColor=this.getobjstyle(parentNode,"background-color");$ ?' ?% S/ ]3 p+ _( P2 S( N, O
: [" [7 L2 g2 J& e if(parentBgColor != "transparent")
p( Y( Q& p% j1 Z {$ a0 y$ W6 [9 O9 e2 ~5 \ e
break;2 P' G- V' l# i0 |: d
} M# _9 Q, e! _" B3 i6 f
}# Y8 @5 S; W% s: U$ f: ~8 x' r6 m
if(isLast)
/ @( o' ?; s5 W0 O# q {
6 N+ a- J1 X& Z5 i& W3 y0 Z if(debug)# L# @, q0 d2 k; v
{
! r% k2 k: f& @2 a( E alert("last!!");+ l) n7 |" ]8 w- C; v5 A0 W
}
$ h. p# H" W2 X* t9 a" ] if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
+ l1 l8 i$ x% L" ? {
/ a( ^* F" I0 n% \# L9 j orgNode.parentNode.removeChild(orgNode); ! ?" J5 S; D5 V$ ^
}. u. [1 s4 A- q+ _( l. R( I
}
3 n) Z; o, V. n' ^% s( \9 [: u else
# {# q& Z! T: k8 u+ N$ d& p {
- Z0 @, I+ e- X& x if(debug)8 N& E2 x* [5 F
{5 q% ~1 A, h; ]" k: T- O- F- P
alert("compare color and parent bgcolor!");
& Y5 n' r# D h }
0 F. n {% Y) f8 U% H parentBgRGB=getRGB(parentBgColor);
" \/ Y; Y0 x4 `/ I+ Y; {6 z. o if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
1 R) ?1 M W+ h- u& j$ Q$ K {
: G% j' F' S8 I9 s P7 ? orgNode.parentNode.removeChild(orgNode); % d% s7 v( m1 s# ?- h
}
+ _; c- s7 K- A }
, Z7 Q% S$ d# m4 o5 t }
* X! O4 s- a4 C: F# ~, b }7 o) Q' w* W& N' A( r/ |' u4 ~! [
}
6 R1 z l- `" [3 ~& ~( V0 D }
' ]5 p- V- [9 n; F$ g6 z 5 ~7 P0 E# ~- x+ a# N$ N8 b
7 f( [# n/ d, K9 Z var itemFrames = page.getElementsByTagName("frame");& [) G- G6 n# i# Q: F! v {3 i4 l& r
var itemiFrames = page.getElementsByTagName("iframe");
. p6 {6 u( ]* e. E3 e
4 J. A( v+ d! v+ C- P, G var frame, iframe; O- q4 K& t }# \
if (itemFrames.length > 0); I" |) E* [! F* w/ ~6 p2 i" _
{' Y# P9 D- N5 _ h' T7 K
for (var i = 0 ; i< itemFrames.length ; i++)
" S: U/ V7 T1 _; y. Z% O% C {; ?2 I# } |* A) V& r8 I
frame = itemFrames.contentDocument;
' A% k+ }" y) o7 [' z# Q5 o# ^+ D! f this.RemoveHide(frame,objname); 7 x1 O' u' W% y
}. D" Z( m, e3 D1 r' g& S% X$ l2 R
}
* t: B. c0 S1 T' x- d if (itemiFrames.length > 0)
1 e7 T1 [' [( _ {6 a0 g3 p# Z* E9 `2 e/ f1 n
for (var i = 0 ; i < itemiFrames.length ; i++)
2 l% f9 ?: v2 E6 `, ~1 j' A {5 g2 {; ?; c, a& ~
iframe = itemiFrames.contentDocument;- `# U7 n7 G; C# d5 X& J2 t
this.RemoveHide(iframe,objname);
% |% ]3 e0 d, R) _5 W2 J }. p/ P2 f# W4 }$ v. z6 [5 m0 l
}
) h6 Y$ k& H6 q) W }
, K+ F' F# e" h- k5 o catch(e)
: U: f9 u+ t/ `2 l {
# m% O1 @- l/ M3 }, S if(debug)% p7 s4 R, z j6 V3 b6 a
{ r. F9 z! E# }$ _( h
alert(e.message);3 {% B$ h z: V( `
}
- v4 f \- p' W$ q# Z }
* @8 _' K; I" t: ~( a5 C }5 U/ n& ?" J& W7 v' T) ?
9 x0 I. z& i2 z4 U
}3 c; o/ S) v- h/ O g
$ n2 W' t7 @! Z( zfunction getRGB(colorString), Y7 j3 S& U4 \% a+ {
{
- ` K. q1 b7 m/ A var RGB = new Array;3 _9 Z) S8 I0 l7 m8 l, o
var tempSting=colorString.substring(4,colorString.length-1);
8 ?+ j ^ |% J7 n8 b var tempArray=tempSting.split(",");
& b6 m7 K% g t7 t8 I, v# \! z& J( P, k) N$ @" s# {, o2 D0 v
RGB[0]=parseInt(tempArray[0]);0 \: C, \4 ]4 F1 ] Z- z/ c
RGB[1]=parseInt(tempArray[1]);+ W% P% M4 S% f
RGB[2]=parseInt(tempArray[2]);
' \8 j$ g8 ^2 x: W
, k# B- G' e# G/ ? return RGB;
0 N' p+ @. p' _* h$ l" [- k}
_ W4 v% J$ S6 G- |function keys(evt)
* X, H) S$ z- i+ c3 L {
( G# g) w" [ N# _ if(evt.ctrlKey && evt.keyCode=="81")
+ {4 O& D- R3 T { 8 \! T+ _& W; I8 _( R
CleanHideObj.on(0,1);
1 L: O5 P: h3 r! Q% w5 z* F alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# W d, y( |! i4 c Q- J; V 6 E3 F' d# M6 l. s9 x
}
+ T' C1 {+ f5 q: [* z# g$ G }
# p3 P. ^/ k- [" `document.addEventListener('keydown', keys, false);
; Z& ?* R0 ~5 Y( K" P4 a% d8 n; I5 qGM_registerMenuCommand ('Clean Hide',- R% W- G' S4 O9 E4 e
function(e){
2 t" |$ d- K5 UCleanHideObj.on(0,1)- H7 e1 s. m! F. g, U, g5 C
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" d3 H# X9 j5 B. [});
9 e- M r6 i+ y. n$ O" ]) J |
评分
-
查看全部评分
|