|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
# w) @9 h2 p1 p6 h
5 F% ]+ ` C% @/ k9 G* ?7 W& U: |8 z$ R火狐插件,用猴子 K' Q' ]/ g# S1 Q
. J z" Z% F+ c! U E g
var debug=false;
" [- k) K: c0 |1 O% l3 dvar CleanHideObj=new CleanHideClass();
7 p! M/ H& |8 k( \. v0 [. b+ `' \! H0 J. {
function CleanHideClass()
% ]3 |3 G8 g- C) P) l( R{
1 `8 J* J \ b h* ~7 _: _1 J% R. [! I4 w/ S
this.on=function(id,bMZ)
) C k# r4 U0 @5 _ {) Y; l O. A: p
% X) u# w/ e3 ?5 p) r9 T
if(id == 0)
2 Z2 V! t- `& e, k) T5 j/ j {& l/ }! L* E" k5 x) ~3 |
var page=/* document.getElementById("content").contentDocument */document; ! K' ]' h# x& i; t
this.RemoveHide(page,"span");
6 f6 O. c; I2 q# C this.RemoveHide(page,"font");$ C J/ S6 E" S+ U
this.RemoveHide(page,"div"); ?" b+ R# K8 I$ p; M/ z0 Z
this.RemoveHide(page,"p");2 r5 A& n* O: F8 v% L' X: u
) f F/ S% W- C* f
}
/ x5 m9 J- g4 ?1 Q1 J/ ^ F! S7 ~! D: e: v' h! A I; ~3 i
}; `/ {# i2 R$ _" ?( |9 X2 q s1 J5 \
this.getobjstyle=function(node,prop)' W# d) }$ i2 x
{" D8 I' }% B) X1 V% k& q
try
. C1 i& U7 M' | n$ N. P+ B8 B. Q {
" K( \) p" l6 S2 c3 n, P) d* O return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);7 y+ S+ s- [8 R- T0 V( \
}+ F1 G5 V- \9 D
catch(e)
' I& F. G" n; I* q9 _ {; E" P" |; @( n, {/ y) P
if(debug)$ e7 |" J) R& l
{
: u2 I5 b! a( Z8 U9 \: c alert(e.message);
4 x$ G0 M% m* L( C$ h$ R+ O }+ X4 \. j7 t% S0 e
3 j* C5 B* }( Q9 @+ Z return "200";" N% f. }+ _9 q
}
* T) u- e4 f: u) ~- w8 S- V9 _5 v+ B }5 t5 B0 z7 l& a" Y5 w( `
" r9 N, p& x3 D3 c7 C+ {' d2 H4 w7 d
this.RemoveHide=function(page,objname)6 @. ~) ^1 ~. ]
{- a5 c- q; t) j8 R$ X5 |8 U+ W ]
try' x1 s) q0 b% A m5 @% m/ R
{$ X- d2 V: `( c
var minValue=15;) `3 i0 L2 H+ L
var objs=page.getElementsByTagName(objname);
. B- @. b$ r( F! z" b J) m1 z7 ~' o# E. \( y' ?2 X
if(objs.length == 0)
9 t) A& A6 x5 k' ^; y% |. I {
' V5 r3 S u ~% x0 X if(debug)
- _: X8 c1 r- t" F* _4 V8 W {! g+ r" L( a* p }
alert("no object found!:"+objname);
2 r9 {4 h/ q" q0 c( d) ] }5 B# @/ @) j3 i& f" f2 |6 t
}0 q. \2 u* V& V1 z- q
else1 f& h) u1 `" m# s# p, z9 B
{
7 ]6 E) S D f! R% i& D& S
% R* h+ @, @; g, x5 I for(var i=objs.length-1;i>=0;i--) % d% k8 L2 ^/ W; w2 ~3 x: Q/ k0 m& G. g
{
2 ]* E# [: u A+ h j- b5 }- P var node=objs.item(i); 1 j" O' N1 s; @9 T+ [5 m
0 ~! J" c8 _: G0 C6 M
' U. Z" Y) ?3 V+ G \: E+ ?& o if(this.getobjstyle(node,"display") == "none" ||
: H$ x" s0 k- @( K: g. u7 N this.getobjstyle(node,"visibility") =="hidden" ||
/ Y! E9 c+ {) Z0 t7 w/ m parseInt(this.getobjstyle(node,"font-size")) == 0)
# H! f0 f) q* e0 Z {
/ C' ~* r) D9 z- d- u if(debug)
$ J. x( d' F, ] Z/ E, Y& b {
! F! ~ L% A- A Z alert("remove invisiable!");8 u; k. |0 I/ a1 ?% B
}" d; T, ? g8 F X
node.parentNode.removeChild(node);8 U9 [% x! Q4 P. L
" ]8 Z0 h- L+ c5 g2 ^ }
" y; m p4 T9 A else 7 h& P5 q8 u# W
{+ D: W; ]7 d9 a7 h
if(node.parentNode)
( d/ u# d& R$ L5 J" P {% H" C2 U3 U0 c y
var orgNode=node;
1 o2 U3 M% _0 D d var orgColor=this.getobjstyle(orgNode,"color")) A0 e0 n& K" H6 U
var orgRGB=getRGB(orgColor);
3 U d7 K, B/ `3 @8 V7 k" h& F, R # _ _6 n& n8 s; F, g! d! [/ `/ i
var parentNode=node.parentNode' A1 N9 }. \+ O; n
var parentBgColor=this.getobjstyle(parentNode,"background-color");" p6 z$ i. u+ d. |5 w4 }
6 O1 \. n* A* d" V4 V var isLast=false;
% ] b, t: T. g7 v
: L; t7 h( b0 A* n& b* L2 Y while(parentBgColor == "transparent") X2 H: t# p$ D. G/ G$ o
{
* i0 `1 u' { ]1 n4 L# d( U & d, G# b2 g. e0 Q0 G% b: T ^
2 M$ u5 k6 D9 l, C if(parentNode.parentNode == null)( T; l' P. j% _/ N
{2 Y* a [2 L5 t& u4 c. ?
isLast=true;
1 a! O% T$ z0 \6 I) e9 F break;
6 _. r+ Q5 H2 m/ j8 M0 M+ g }, \ }8 ^5 H& M( }6 }! O# q: O
parentNode=parentNode.parentNode;+ o: _2 y- {" p5 ?0 X7 j
parentBgColor=this.getobjstyle(parentNode,"background-color");7 m& k; x: f" t n! M# @% _
4 Z% y U' X# M5 e" Q7 x
if(parentBgColor != "transparent") / }; E4 ~& W" Y3 n
{
; N X, i5 B; n* A& D4 G break;; E5 @! m) [" J9 ?
}, C+ n- H4 I9 t$ o7 @
}( V. y2 o+ Q- t* U
if(isLast) 7 [+ h2 M3 j* {+ P
{
! m3 y/ B1 L# q3 I# D if(debug)! ]2 j4 K, b) F, u) X* R. Z2 c
{- Z+ f4 g* l& f0 `+ @. u! M- G) x6 P
alert("last!!");
" i Z$ Q' ]4 l# A }8 E' L) t2 v k+ M. L z5 B2 Q& F
if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))/ p. }4 L& `' e6 Y* Y6 Q% R9 v( G
{/ f! k0 t; d) `2 O
orgNode.parentNode.removeChild(orgNode);
' v9 i7 d/ Z$ S9 R, D. h% h }+ l. Y: ?; Z n5 G7 K! _
}1 B: t3 D; g, J3 K2 H( \
else. q/ B& q- X( `/ X6 Z5 S
{ e. e7 M' k3 M6 L" k, L
if(debug)! k' h7 x6 k8 }9 `: M
{
+ o' z; z/ y/ M2 W0 T alert("compare color and parent bgcolor!");: e }: q# `: Q* v
}
( m8 X( c0 M+ I9 y5 Y parentBgRGB=getRGB(parentBgColor);
; o& m* l- q9 \5 Z: n if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
( h7 W1 \ Y( `# p5 k- ~ {* L7 q8 s. I2 [( I; E7 v
orgNode.parentNode.removeChild(orgNode); 7 I" @% |" u. { ]2 [3 W0 D' k+ L
}* k: j! x1 P) V& _" S
}- l5 z; i7 M" B' J9 l g
}
P8 D6 [" s9 k5 E5 l r }. ]9 r6 q) q* h5 L3 Y8 G6 q
}
6 }4 }1 R7 k' L/ E+ ^ }9 `! a; S8 j6 G8 @
4 u( V) ?4 {: l3 |
- F* F0 e- \8 _( V* r1 U5 E1 s var itemFrames = page.getElementsByTagName("frame");
1 m8 t+ `3 V: k8 b2 s* v& B var itemiFrames = page.getElementsByTagName("iframe");
9 |1 Y' I6 |# V/ n+ t& x- F" T4 A
6 y6 {3 ~( [- ]% s) J var frame, iframe;: M8 H2 X0 ?4 ]
if (itemFrames.length > 0)! p# b3 q. W! V( e. b( D4 K
{6 o0 L$ m( F6 W0 J; D* Y
for (var i = 0 ; i< itemFrames.length ; i++)
8 E, q' N6 }4 P, j {
- c) T9 \) ~- q8 Q& e* M; }; M+ X frame = itemFrames.contentDocument;
. X" q+ B! [- o' N7 e this.RemoveHide(frame,objname);
5 |" }, r& c4 z! T }
9 I. v0 e; |9 W2 l }; Q$ ]: t/ X$ m1 O% s( T% u6 I8 v
if (itemiFrames.length > 0)# l+ ]8 x3 V' f+ R1 E `
{# u% `: j7 K9 m1 z; q/ z
for (var i = 0 ; i < itemiFrames.length ; i++)
; _5 b2 \( s0 ~- M$ u7 W, ?# G {
0 u- |2 n; S8 X0 K( D2 d iframe = itemiFrames.contentDocument;
( h6 |# O. Y# l. s& \) R J4 f& Y this.RemoveHide(iframe,objname); i* o4 A9 P- Q$ t4 P5 K* V
}
) n. ?$ q0 j. j2 E }, b7 Z: e$ V" y# k
}4 y$ K/ o5 z/ P; n% F+ M
catch(e)
2 N& @) g6 R: A, ? {3 I8 C& I; }+ B2 @4 X
if(debug)
2 z0 J0 K- W( G8 c! _ s {) s& d% Q, Y% C1 V" x
alert(e.message);
0 |. z1 T, K4 s. V }$ K1 M @0 s- S1 `) S
}" I ?1 j0 E$ v# y) Z/ R6 |
}4 K0 N! N7 G2 ?% b+ e
, @5 F4 f6 P# e% m. E, [$ h
}' [8 m! z* w. [/ K( y5 {5 Z# ^
2 \! E a$ [9 |# e
function getRGB(colorString)5 }3 V2 E% E! Q6 i( t$ v: N2 ?
{
' }4 a6 X7 S& O3 A+ j var RGB = new Array;+ S# Z7 U N5 M# ^" ~
var tempSting=colorString.substring(4,colorString.length-1);: R, c/ K( c c
var tempArray=tempSting.split(",");
! P% ~% ?1 p% [% r9 l
# F2 T" w& i2 \ RGB[0]=parseInt(tempArray[0]);/ Y; m3 G& G3 G. k% q. x
RGB[1]=parseInt(tempArray[1]);, O& z# _( {8 E7 v2 u3 E
RGB[2]=parseInt(tempArray[2]);2 Y" d$ x, o! @* I
! n# t* {2 d4 N
return RGB;
' w% b9 [: A- c2 W8 j `) }}
) j( i$ {" A, ?; o1 Q7 ~+ {0 V$ mfunction keys(evt) ' M3 K* T/ Q/ j/ S9 r5 v+ b. Z# M
{
6 ?1 q2 v$ m8 n2 v. j if(evt.ctrlKey && evt.keyCode=="81") 4 }2 W: B$ A7 c, N! [% G- c
{ 7 q$ B L6 B% M+ n; \' D
CleanHideObj.on(0,1);3 k$ o B) R) v
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); 1 z. s0 |4 R {7 ^
|8 u( u0 Q5 b. U
}
4 I6 ^9 b! r6 ~( n& J, L3 { } . J. j- K0 y/ N# C" z; H$ C
document.addEventListener('keydown', keys, false);
9 K8 l! U$ [; _) @/ Z4 l6 QGM_registerMenuCommand ('Clean Hide',
* h$ r* X- ^( G5 d( h" _" F& ~function(e){
( l6 s2 i c9 m' ~2 I) qCleanHideObj.on(0,1)
1 P; W( d# \8 R* X1 K8 Lalert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
: ?2 O2 Q" `6 o3 L* G2 R});; b' l* u" `7 E6 x" h' B' o& ]
|
评分
-
查看全部评分
|