|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑 ' R6 _+ y5 d, j; X; U" V0 d/ @- L! |
$ K- e8 i. X+ F6 l5 d) ]火狐插件,用猴子6 s& w; w5 c$ A2 n
/ a9 _2 x0 q- O3 l3 m ~) f
var debug=false;
/ d- X5 \8 g* T5 f# k& Q- Zvar CleanHideObj=new CleanHideClass();
0 q3 t6 N+ ^. y' Z. \7 x
' s% |3 Z1 [! L. ~- @function CleanHideClass()
* K& s4 ^$ @$ f( l4 o2 _' o{ 4 h5 o3 r: S) M' X1 `6 q$ a$ E. c
$ O! Q; V5 U. x this.on=function(id,bMZ)0 M& Y& x9 B4 [5 h; p
{
3 k* W+ d1 U! n. V 5 d; ?$ c; k* l0 ^9 x' J
if(id == 0)) ? }0 ?3 M9 q0 J& \; f
{
8 J ^2 v$ S) N) d; a' W# Y0 M var page=/* document.getElementById("content").contentDocument */document; 3 o1 e. D0 n6 [$ f! q* \& v
this.RemoveHide(page,"span");
/ g2 Y: ?% ]% T8 n. o/ [ this.RemoveHide(page,"font");
, K& X& i9 [1 ^3 `/ z& S8 { this.RemoveHide(page,"div");( E4 M4 M& P0 V! h4 Y% q4 G
this.RemoveHide(page,"p");
3 V( s K. \ P. x- e( j6 r
* _) J. U3 |* V) d+ O4 l }
4 `( u% x2 g" l1 [# {3 {/ W! R/ }
) L( Q: s* i4 p2 e e9 _ }
: N) V; O, w6 n2 e this.getobjstyle=function(node,prop)9 x/ q K# h/ r8 U9 V
{: a7 E8 W6 n% l" z* ^# \( A
try
$ o" ?" Y1 T) V, | a) I) z {/ ]' x5 \, B" S
return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);& I1 ~0 ^! U0 L! H( A' e/ W9 o
}
7 \7 Z+ x1 W) x ^$ ~. c) g catch(e)
- F2 r; F. n3 V. M$ J2 g1 [8 i {
. W! q" y2 h& C if(debug)
+ n" K3 s8 c. E% s {
6 v5 ?6 n2 [% ^/ K5 A9 @$ ]8 t alert(e.message);* b$ G+ g) l$ \9 H& R
}
) {! R7 A- U" C
" t) U6 o, z1 h# C6 }. S% A return "200";
2 H& t6 ?# J5 _: R2 f2 c. @5 h }% Q& D. j! {6 u6 T( F3 d0 {6 b/ n
}& B& C6 P5 T# }% k
6 C9 p i# [. x/ i! n$ t1 @ this.RemoveHide=function(page,objname)
& f/ i& F: ~3 g( I# w; |7 ]( f* E {
* G6 w) x" M3 i4 ?$ l( F: l6 T try' [9 W9 C: x9 j r! O. M6 B
{+ d1 i; M( ^4 _1 Z3 D8 z
var minValue=15;1 U+ M( p1 _4 |( e9 p. D; S
var objs=page.getElementsByTagName(objname);
4 u% q0 p) m4 J/ k7 n$ k3 I) U, {. C% ?0 P9 Y: Z: `
if(objs.length == 0) 8 K: j5 Z; x) L4 L3 {8 e& V
{5 c4 ]+ J& I5 a
if(debug)! a+ W% P6 G' E& u1 i
{5 b7 ~6 D' @0 H" M# S9 K
alert("no object found!:"+objname);
1 L% j# w3 y. j, G }2 h& f# L8 I6 Y9 n6 H1 S t" q
}
) I3 s1 F1 O8 N else
9 a) ?# e+ G3 t) k) U* ? {* y5 L; r- c5 x3 w
& L9 [5 b. G5 X" p for(var i=objs.length-1;i>=0;i--)
3 Z. |8 Y8 j" }- J0 L$ J {& Q1 B6 T/ q9 Q; L
var node=objs.item(i);
% y7 d: z. N! U* ] 9 G1 C9 n1 R: L" M! _
$ q- ^' o# E6 T, ]
if(this.getobjstyle(node,"display") == "none" ||
/ U. M7 V& k8 z) x this.getobjstyle(node,"visibility") =="hidden" ||
* ]& W: z, U, q parseInt(this.getobjstyle(node,"font-size")) == 0)
" q; d; S" j, |" U3 V% g; _ { T# n% u2 q4 Z I1 J$ B
if(debug)0 C( t8 A9 u' m* `/ H
{
) ` Y J2 [; h& [, W# ~ alert("remove invisiable!");
; Z$ `! o! s( f! H1 ^- ^ }. z; A8 s* a% B/ J' @7 x, l3 q
node.parentNode.removeChild(node);* }3 O/ F5 n5 ]: c7 X1 ^" @. d9 p
, N. p x* E% X8 f* q
}
|6 _0 N. Q& U& o else 9 z5 d7 e# |. j1 l1 g
{3 s+ a$ f/ N+ `: y& {# Z8 o/ o
if(node.parentNode)
1 ~1 H( G2 h6 D2 S: F {
$ ?9 n. `7 O+ J9 c( N V+ l; s var orgNode=node;9 G6 i6 V) R! B B9 e% E. @# d
var orgColor=this.getobjstyle(orgNode,"color")
+ P: ~) u/ @5 C8 F var orgRGB=getRGB(orgColor); : F+ J" V M% Q) V* g( E
8 g/ |4 J2 L/ R2 {' |9 K
var parentNode=node.parentNode- W& `# [5 e! y# c
var parentBgColor=this.getobjstyle(parentNode,"background-color");) Q" B0 ^8 f) O
3 k+ h* C& p* B2 P) v var isLast=false;- o0 C% V/ f7 w. }* y3 ?2 O8 [
/ `; _# x ~+ L9 L2 E, }
while(parentBgColor == "transparent")
% y9 H# [! ?) i {3 S! s o6 X0 S
5 Y5 g+ n7 D# j! ^ / l8 i- N# r( w; v, J t0 _
if(parentNode.parentNode == null)+ l W! B. Q) ]
{: d. z( M2 E. ~- ]& H+ a
isLast=true;
% r9 d2 Z6 T f1 O$ { break;
' c; f" ~" _. g& | }+ M+ I0 J5 P0 D7 J% ?1 v, R) `! ~
parentNode=parentNode.parentNode;# `# H* C( M+ @8 K
parentBgColor=this.getobjstyle(parentNode,"background-color");
' a: I: i0 M4 T6 g0 d: h
& b* R+ _0 }3 P, O if(parentBgColor != "transparent")
1 v E k* d3 J& M5 b4 K! ~9 }- A {
0 i. ]% H. }) h! a break;
1 S% x! Y- ^9 p: B$ D2 j }" m9 d6 a/ y+ \2 b6 Z
}# w' m; D& g% ?0 F* B' _* b
if(isLast)
5 `; H* R/ q9 F0 W/ w {( Y! z* n6 `8 T+ `" M0 S! G
if(debug)
- L" N7 |5 r$ L d5 ?# f: d {
- B" X$ y# A. w3 u* u! E4 F" D0 w alert("last!!");
& m; R/ W7 `+ e* _ }
' A) g4 N' e7 W S7 l( L9 T, q, m if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
/ e; N% Q+ t3 R7 N {$ I$ M0 B8 h3 s5 E) W
orgNode.parentNode.removeChild(orgNode); " }. S" K- P0 R
}
1 |1 R6 W: s' B }
# y8 Z+ U6 m' R) u else
+ b2 f; z9 F) @& Q4 d {/ o' r6 o, H9 G
if(debug)/ K, i3 i, [- y" y
{
# q+ u g/ s9 T1 D alert("compare color and parent bgcolor!");/ U2 S1 M8 h( q& r- B* _& x4 M* f6 f
}
. ~# K) O( h# `$ I* ~ parentBgRGB=getRGB(parentBgColor);
j' @' Z2 R4 m# B. V5 l if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))- S) G* ^1 D3 s/ D v1 ^1 o) s" J; K' r
{
' S* w7 Z7 f3 l8 Y7 U orgNode.parentNode.removeChild(orgNode);
8 Y% D8 O: J1 R' X- U) I5 i f }/ ^( ]( [4 e5 a$ j: D' R" W& J: R
}
4 f+ X0 z4 }: v3 L }: r8 Y* B }1 h1 K- L
}, b+ I, Z4 C, N" J L! h
}
) g/ Z1 ^" e$ x' @ @ }- Z- g# n7 Q- v; [
8 W8 @, g* b1 R+ B& L
) w O8 b; U7 }2 a! Q" Y var itemFrames = page.getElementsByTagName("frame");
% J `, R7 s) t# J# ^$ y" S var itemiFrames = page.getElementsByTagName("iframe");, `4 ]" P: ? D8 O; D" B
7 O/ p4 u" `/ \
var frame, iframe;
. P# z! @: r" p- J, \4 [ if (itemFrames.length > 0)
9 }: t3 S' Z4 m, y1 n$ |- F/ K {+ R9 v" ^1 W/ E$ L5 A0 o
for (var i = 0 ; i< itemFrames.length ; i++) ! W, a' |" ]3 n, U" ~& ~
{
/ E) R* o& H' L* L, h; E3 Y$ f frame = itemFrames.contentDocument;
2 ~: p. M) o) J this.RemoveHide(frame,objname);
* A1 a0 b# M# m- o }& \6 j: J: p9 Z7 L; ?- P: }; }5 `6 M
}
; `4 @" ]3 Y. i; L if (itemiFrames.length > 0)
7 K* c3 {) [% G* p# } {
3 t! V# s1 s$ c1 o1 R for (var i = 0 ; i < itemiFrames.length ; i++)
/ ?: s; g, e- ] {. K6 g5 r: ^2 \1 ? d. r5 M
iframe = itemiFrames.contentDocument;
/ b- S" x. @6 L- E" Y this.RemoveHide(iframe,objname); * B8 w; e2 n7 X0 J
}
* d2 J! h" W( E J }
/ c7 M1 s- A3 ^0 L1 C' b: G }, |7 u' `# M3 y6 A: {# F
catch(e)6 |1 C# q+ x# k* s
{
& |8 W+ o. y2 b. {9 ]. M if(debug)5 L/ T/ |" B; C+ V7 I
{
6 L6 V7 R+ D0 X: N3 o( U2 F% n alert(e.message);
2 b" i0 M& E9 a* a& {' [ }) g$ T9 I+ j9 O" W
}6 q/ L/ v0 ]2 U0 A+ _
}& w3 _5 i0 z" |' y/ u
- m7 o% ^; @$ s}3 J8 T" M6 F% g2 P) u* s
2 R v8 ?5 I( L8 ?7 q4 E
function getRGB(colorString). e# s- w2 T$ b# ^$ \/ ~7 Y
{
2 P, W0 | d% d var RGB = new Array;
# w, r/ \9 X2 W7 o$ ` ? var tempSting=colorString.substring(4,colorString.length-1);
& O1 z5 u4 v8 B8 m( q0 }0 B var tempArray=tempSting.split(",");- a2 U; |1 ^5 l' ^& N$ @4 _3 S* h
" d7 H0 K. e3 N$ o* ~- V
RGB[0]=parseInt(tempArray[0]);- K; E1 I1 ?# S: @
RGB[1]=parseInt(tempArray[1]);8 k8 A9 D7 I( I- j; j: l
RGB[2]=parseInt(tempArray[2]);
% G% C& u' l0 @9 F0 z3 Z 9 B8 v. s: C" w6 H- u+ j
return RGB;
- W( V5 f5 u: p) [5 u; A}6 M$ o2 e3 }! h4 m \* l
function keys(evt) % y9 V- [4 h1 F% b v
{ 7 A' K5 L. }' n; A& F
if(evt.ctrlKey && evt.keyCode=="81")
# B, N2 }6 s2 I. ?. A! j { ( r9 @! W( |2 F+ p3 J5 y
CleanHideObj.on(0,1);5 ~6 n, T" ~: P, E
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
" s2 w) _* ]0 u; E Y: r 2 \2 F# v k1 m( @2 c
} 7 G2 M+ r# q! y' O5 n: t$ H/ Q
} : X* I7 ~8 p% i- z" z0 J7 V: e
document.addEventListener('keydown', keys, false);
3 I q( r: N4 W: ZGM_registerMenuCommand ('Clean Hide',
+ C& U3 j# r, D3 E' E' Bfunction(e){
0 \. m& t- ~8 K5 h$ e( ~7 N. YCleanHideObj.on(0,1), `+ c2 o e# g1 U9 d" J
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");
- G) u& p, G) N5 L});, B$ y1 @1 s3 Z6 |. c% o5 L
|
评分
-
查看全部评分
|