|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 , Z' g9 G$ f: a! h/ z; R* S
9 Z% i9 v7 J5 X' X& B0 Y火狐插件,用猴子7 Y+ J* g! t1 ?( p# A
& Y5 H: W/ X+ mvar debug=false;
4 [! r' t4 @$ V& S8 svar CleanHideObj=new CleanHideClass();
4 O& q H8 _ l7 Z/ i! r& ^. z& ]5 b/ L/ c9 D6 Y( o, y
function CleanHideClass() . s+ H. h2 U* K0 v" `0 R
{
. i7 u2 b, a$ F# z $ S5 ^; \4 y1 ], O+ d
this.on=function(id,bMZ); H" V+ l$ e% r2 o6 S* e: h
{& Y& l# m7 P/ }. Y" o1 _
+ s- V* U" |( ?" J2 `1 ? T( ]7 h if(id == 0)
1 H# R3 W! w4 g) q {* b0 w, f, K& I; a5 F
var page=/* document.getElementById("content").contentDocument */document;
: W: X: a0 X0 L this.RemoveHide(page,"span");
2 [) H+ p" H0 o' }; Z this.RemoveHide(page,"font");$ o! o+ H& \! z- e+ Y+ R: C2 e
this.RemoveHide(page,"div");
$ g, O; R( x3 j this.RemoveHide(page,"p");
7 s1 ]% C& k! B
+ o1 |( X% U$ L" y7 [ }
' E& ]3 x; x. X9 j( r
2 E: l% a% j. U; E4 `! l# | }
& H1 C* E4 c/ e y9 Z this.getobjstyle=function(node,prop)
' Z3 I3 s2 Z; y {( M; Y2 e! g* D' d {( n' U. j$ c( [9 W* V0 A
try
2 \2 i- i( I+ T7 R" N4 L# x {
2 T+ l4 I6 k* {" Y5 p' o9 c return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);3 d4 I! L3 b8 M7 t, T9 A& q
}8 Z- t. F: e6 F
catch(e)
8 ^# |) M1 E: E& R+ B {
. d0 l6 P3 \8 G2 Q( n* h if(debug)( W" b" R) v$ r. h9 Z, t
{
# h2 o# a" H. \. E# ~( v alert(e.message);
- a) H* F& }' F( |% K+ u/ D: l }
" H0 m0 j% L* r# T! P - S/ J1 T9 \1 B8 i4 f
return "200";
1 X/ Q* P2 \8 T. I8 @ }* ~% H+ S& {8 \0 z5 b/ p( l3 Q6 |, c
}. d$ _0 j; X2 I% }/ }( b
7 P( a0 _. c0 y. o
this.RemoveHide=function(page,objname)
/ e3 o8 d2 E j {
0 m% T7 i$ @4 H$ v try
: i" j S3 y9 `; J7 B/ ?# B1 u5 X {1 j! r$ a1 c V0 A( A5 o
var minValue=15;
( b- z1 v1 y% R) m var objs=page.getElementsByTagName(objname); ; B0 `4 N6 C# A. p% f0 E& P' v
, b$ `7 J' q3 J# j0 i if(objs.length == 0)
2 f7 w' Y# a+ e: t6 p {& n X7 X. Y5 N: L4 k
if(debug)8 j( m/ _/ B# M
{
# Q1 l Y% v4 x alert("no object found!:"+objname);
7 J' t; @% q% A, P7 s }
- Z, z+ l& b9 g8 M7 c/ B: ~ }
2 \* ?4 }" y% P) f( f) H1 L# J( S else
7 S$ K! e9 P/ W( F' [ {
, x! U y" ?( C8 z- B& `
" ~2 {: H) N0 W1 o% a for(var i=objs.length-1;i>=0;i--) 9 S5 a* l0 p4 ~0 s1 @& `
{
2 J5 ]+ p' @/ @* M2 l4 u var node=objs.item(i);
. n/ T, `4 U0 h - q3 ?4 J0 h# y) q
/ r D. e4 n3 `& K if(this.getobjstyle(node,"display") == "none" ||
' K5 w! L% F6 g# V" u this.getobjstyle(node,"visibility") =="hidden" ||+ R0 _& K& B6 U$ b
parseInt(this.getobjstyle(node,"font-size")) == 0)
. i5 R; g& s/ w8 E; E& h {
& ]# X- _. s6 e4 W9 K1 r if(debug)) g* D* V9 Y; }8 D: M: d. P. J
{0 g, e; Y' Q- o& L m( Y
alert("remove invisiable!");
4 o% I, `' c+ P6 E2 z }
8 _8 S: ? A* x3 {# {4 s8 N X node.parentNode.removeChild(node);: j7 e6 \4 G6 T9 g- G7 X# V
1 U e: K2 X' x$ U/ F, ^) Q4 c }
% z' N2 w# Z( c g else ; h- _' O; @% U
{
4 X6 Q, ?; [, k" _$ v1 Q# p7 a if(node.parentNode)
7 I5 U0 ^) J4 R$ h* j8 b {
% T* \' r( H: H* f3 P% o$ Z2 W var orgNode=node;
, o0 P4 r" P0 D9 p% ] var orgColor=this.getobjstyle(orgNode,"color")
& e) |9 Q# ^2 s; v- @# Y& `' @ var orgRGB=getRGB(orgColor); 6 i/ x0 N3 X E) T2 J
' N- M0 ^ K( Y% ~( S8 t) B! s var parentNode=node.parentNode; {/ \- S; e- |8 N# r \: S
var parentBgColor=this.getobjstyle(parentNode,"background-color");
9 Y) Y; ?/ v+ Q* d7 @: ~ 4 F6 d6 V7 m( D9 F9 b$ z
var isLast=false;" z y5 i& z3 K6 A- B& i3 W- j
6 O9 X/ Y- }) [) p% O% ^
while(parentBgColor == "transparent")
( n$ b# u( v$ I& _# s& W3 U. n {* w) S" H8 U& ~
7 O& o9 Z( w- d+ ?$ d" o' D
0 n- A1 Z8 Z9 |/ u
if(parentNode.parentNode == null)
# F/ M; {' f& F/ u {: i3 y" ^1 W9 H) \
isLast=true;
2 J! e: k; @4 l. E- x. n( s. ~+ J break;
0 H5 D2 T l3 S$ o# D; l }
: ^: |' s9 V0 b# W4 ~" ?% \4 j0 v parentNode=parentNode.parentNode;7 t% s1 s8 o8 O# K0 W
parentBgColor=this.getobjstyle(parentNode,"background-color");& c4 R4 {" _9 k+ T7 X
! I0 x+ Y! H3 F m* u( \ if(parentBgColor != "transparent")
" M! g2 j, q+ D. P- h {
" _$ C- i" {1 a* a W' R break;
" e) F- B$ s+ j }- @3 L% A( i5 ]3 J9 ~$ U7 F- C
}* l% G" j% H- r8 g. G, `% u
if(isLast) 1 w" r* Z9 \& J* P9 R
{
4 @4 g- a! ~6 b l if(debug)' H- ~) K/ u$ F+ \# J7 C- }) ^, p
{ e5 R: K1 Y* Z8 A+ h
alert("last!!");
! |. L; U; [2 M0 d8 _8 N6 _ }
1 Q( @. }2 a+ F+ o2 Z# ` if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))+ e, Y4 c0 y0 g
{
5 O5 H& a: R# D- H orgNode.parentNode.removeChild(orgNode);
, D& S& y$ {/ F0 r; z }3 I7 D4 v1 Q: F- ^7 p
}
c, U! s5 R# G' ?, | else. I# k c' i# ^; X: E
{
+ M; r0 E" |; l/ V# v2 v if(debug)
- N1 R/ f) W- D* @, I% {2 z {9 g7 f5 ~9 a4 U7 w6 l6 G: ?4 @
alert("compare color and parent bgcolor!");
/ i7 k4 H& s0 n6 t! V1 ?( d5 |" o }
& u0 P0 ^# D" H4 _1 S parentBgRGB=getRGB(parentBgColor);! c4 f5 ]2 r& q4 m8 T& j
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))7 K$ @! c2 A. i/ z: V7 F% ]9 U
{1 R" s, C! Z8 u7 ]& V0 @& ^: S7 n
orgNode.parentNode.removeChild(orgNode);
1 H q8 c# H4 ?- S3 Z; f) } }
8 D- h( B% u5 q }, [, N, N, J4 n$ e5 ]5 M5 D
}
9 B0 \3 A& S0 S* b n0 u }
7 B6 V3 `1 W! z$ W% n }
' \ M0 M; @9 N. `3 | }
3 j) e% H' u- y% I* S/ @
7 H" F) S+ O' _+ R& }- r9 E 6 q5 L1 j) n4 U! v: ?
var itemFrames = page.getElementsByTagName("frame");
, m; l- Z4 I) A9 z var itemiFrames = page.getElementsByTagName("iframe");$ i9 M/ `/ Y# z3 W9 W( E
) |! c2 D' }3 M! f# ^9 `
var frame, iframe;
8 S8 D8 e* {1 e; g3 V if (itemFrames.length > 0)
# M7 m j! i5 F2 S# g, b {% P, c% z2 _+ a
for (var i = 0 ; i< itemFrames.length ; i++)
2 o! M# O/ f9 z {) b. w3 c, A" w9 d# d8 |# \
frame = itemFrames.contentDocument;0 t/ x$ n( L, v+ S
this.RemoveHide(frame,objname); ! v- X7 w$ A9 Q( n$ u/ r6 r" F3 v
}
3 A1 }: c r/ D' ? }
& f! \& Z7 b6 y! y9 W/ m1 X if (itemiFrames.length > 0)
6 {: Q1 S' A a2 ~; j {
, m% ?7 x, s4 n- `9 D for (var i = 0 ; i < itemiFrames.length ; i++)
1 Y. A4 y/ D/ K1 k {
" a9 C( L9 B2 r' c iframe = itemiFrames.contentDocument;
) s0 C; N" ]7 X6 E this.RemoveHide(iframe,objname);
$ X5 b5 m& H& f }
- q2 [2 N8 v* w7 ^! Q- F# D }: U+ u a. H8 Y' Y5 E
}" q ]. K# `8 W- U+ w) P
catch(e)
/ }! c: J3 s& }: D {
$ [8 ?! f2 S. i' n; D if(debug)
5 V8 L5 ~2 y% H1 t; G9 I* o {+ ~1 c z8 W4 T7 C- J9 K* S
alert(e.message);2 m7 r$ Z# ? V8 H5 q2 f
}
& o. p* i' E- } }: q7 e( m( ^& e- b( |
}
" Q' n: H v, X5 `/ C; Q/ B
. d6 u: C# y; C* d& f6 o% ` H}
7 [" l; X# X* C* R3 z) o6 r6 A( s; e' P/ [2 F
function getRGB(colorString)
' c! A9 }* B+ Z8 e/ j% Y{
* K7 ~( y4 Y% W) E1 }! ? U var RGB = new Array;2 w- P2 {& B! G
var tempSting=colorString.substring(4,colorString.length-1);/ F) X4 S2 T& B+ U- A0 U
var tempArray=tempSting.split(",");4 a; Z) ?" {5 t" u( ?- @2 {# s5 O
6 d1 F) b- ?0 l( f8 A1 C z2 q RGB[0]=parseInt(tempArray[0]);$ L( n# q8 \3 X: E
RGB[1]=parseInt(tempArray[1]);0 D4 @% v) I2 b# H$ ^! U
RGB[2]=parseInt(tempArray[2]);2 k$ n. \" {/ s s5 G& o- @
- q/ e' ] v" B. G% n
return RGB;" F: V) W5 t- J, A' ]) ]; n
}* Q8 a( s* J: s7 b) }
function keys(evt)
+ ]7 N+ s) M! N! A7 T' r {
3 \# y# N7 l: d8 u' W if(evt.ctrlKey && evt.keyCode=="81") 1 v) I- ~% h8 e0 y
{ 6 G3 ?% a0 \4 k
CleanHideObj.on(0,1);
7 f3 `8 S2 O* h$ q" L" N alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); + u# t1 }/ Q( P7 i; y! M
. `' s+ ]* W+ A! e
} 0 V6 U& s+ b; U7 \
} - B! }0 O: c U
document.addEventListener('keydown', keys, false);
7 X: w: n! {5 _% U9 GGM_registerMenuCommand ('Clean Hide', l1 z. k& m+ m* W
function(e){! q. H& ?0 C0 g
CleanHideObj.on(0,1)- I9 w) ?0 M; g/ f4 u8 J5 M
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
# ~" D4 J1 u% C* n});; ^: x- O" R P Q! [6 S8 S3 Q" s
|
评分
-
查看全部评分
|