|
|
发表于 2013-4-7 23:47:38
|
显示全部楼层
本帖最后由 chenmeiyuan8 于 2013-4-8 00:01 编辑
) [6 ~$ W! w4 u. I
8 C2 V. w; i8 m% |, `/ D火狐插件,用猴子0 C( v3 x7 c" Q
, r9 X8 M9 f4 a3 K0 \
var debug=false;
! @- K; o" z8 f$ ^% H; C# `var CleanHideObj=new CleanHideClass();" ]) q+ L' V: j
) Z3 Z; v) A, b' _+ s- Y
function CleanHideClass() + J1 z' Y9 L N0 z
{
: C0 H/ W3 M' S" t9 C
7 B! }" _3 M( \: K this.on=function(id,bMZ)
- h2 v2 l* |) t7 x {: Z5 G# g* F- d" @, G
( c0 s( x' M+ ^1 ?
if(id == 0); w3 e3 u3 @3 D& {! P
{! A, \6 G; o( x' i: m9 u/ W+ W' V
var page=/* document.getElementById("content").contentDocument */document; ( L8 E7 m3 }2 Y w6 s" O- c, u9 L7 G
this.RemoveHide(page,"span");- y) T" w8 p; M: A; E/ c# O
this.RemoveHide(page,"font");( F% n& F7 ?' }* ~# D
this.RemoveHide(page,"div");
0 u' v) J) c8 B+ a. K" F' M+ x this.RemoveHide(page,"p");
4 M. ]% T; O# h' l
: w3 g) _( K9 U, m- _! G5 k6 A% R }" }2 ]7 w" U$ T# Y/ L+ d
" ?, r: \# o3 ]3 w }
. l2 k5 Z9 v( P! n- c2 Y this.getobjstyle=function(node,prop)
6 C& D5 z N. A' C {) \$ A- k/ h8 G
try7 z1 k5 I, f5 J! x: G* p
{
6 K6 J' V6 D% Q5 y, i$ I return node.ownerDocument.defaultView.getComputedStyle(node, "").getPropertyValue(prop);0 G8 {% E; G/ T h7 q
}
) b7 C; M" L L# v0 F catch(e), h0 g1 S1 M* _* ~: [6 }, O
{4 Z$ f( p, I4 P7 {. l* w, c0 t
if(debug)
" j! A. ~8 \2 {7 r5 z [: X* K& d3 F# q {
- ?& p# s* s& R- J9 f, {% S/ t7 n( k alert(e.message);
( d+ N9 L0 e& N2 T! @' h }
1 I/ r9 K* r2 @ ; B. U; y% C3 d% P0 G
return "200";' P( C8 x$ u: {* j5 c
}$ s: B/ J7 ?( b4 Q/ P" @+ ~% L2 W
}$ L) C' `$ \* |
$ u# O! U. T7 J% J
this.RemoveHide=function(page,objname)
# {6 b0 t' }* }/ s& [% j2 M5 } {
) _4 e6 O+ L p try
6 q% X. ^0 m* R u; [9 Y {. m: `& s2 l3 p8 F$ Q
var minValue=15;+ U( a' [) x. J1 [4 M
var objs=page.getElementsByTagName(objname);
& h* g% O7 e0 y% Z2 G9 Z- ^$ ]6 V! s/ {: f B6 J' O& ?
if(objs.length == 0) ) h) r+ e% F: ^: B0 E d
{
8 [) m3 p2 f w t8 M. j if(debug)
# W& D, X" H3 o0 ~5 l9 a {
. `! c* ~9 E- L( F G' j alert("no object found!:"+objname);1 ]7 k9 @ f% C* e6 B' P& ~
}
5 ~ ]6 }$ \2 {: c) c- T }
`" }8 |% v& W7 R+ A+ a7 v else
% _2 B% n8 [+ h {; O+ b% H8 } O' i( V. ]3 p
$ L0 M( F" l: B' w for(var i=objs.length-1;i>=0;i--)
1 O9 a: w. B4 X7 C: ?. b( P9 w" v {. Q$ d/ M# L- N5 o0 ]. @0 V* K
var node=objs.item(i);
& [* d U% J7 N
2 a* f5 {1 M0 \ E9 C0 G / S: W! w" U5 k2 I
if(this.getobjstyle(node,"display") == "none" ||* I% P; ]: e% V
this.getobjstyle(node,"visibility") =="hidden" ||
2 \7 I' [' M6 B8 e, f5 M parseInt(this.getobjstyle(node,"font-size")) == 0)
% V) z8 {+ m4 p. m3 M4 ]& | {: z; v- t( N7 T
if(debug)
3 g$ O! ]8 r) g5 K; P3 P' b7 x {
, A5 R( V N+ _$ ?% F, w J B alert("remove invisiable!");
0 J& E0 y2 f0 B4 N. l3 K n# ?$ x) C }4 x0 F' j% E' [: c& y
node.parentNode.removeChild(node);
1 \0 F( N) A6 n5 P0 g* i
, d- u& z; k7 h- I }( V* J# ^5 A, D
else 0 v9 T/ o; u" \3 v8 j, B
{
# ]( P m. D- G( ] if(node.parentNode) 4 r f Z! a; P# h/ h$ u: z
{
~7 x1 n; R- g7 B var orgNode=node;$ R- w0 |' P) \. y- }7 z$ S. e
var orgColor=this.getobjstyle(orgNode,"color")& g4 D0 t# a; Z; v( j0 C
var orgRGB=getRGB(orgColor);
_, n/ B( U5 w' c' C. [ - C& d& ~$ K0 x' c: I2 O: B: E
var parentNode=node.parentNode5 n: @& s Z" U1 z$ U
var parentBgColor=this.getobjstyle(parentNode,"background-color");
2 j0 s* Q0 V _ v # \; M* Z1 c) m' m/ g0 Y5 _
var isLast=false;) H0 v* L# f$ [& M
; p6 f y. x" n8 v0 h O" e: g+ O while(parentBgColor == "transparent") . ~. A1 h; g/ C1 `$ u
{
. R3 I5 ?; |- E# f/ S% `# J
: P- @/ d- b8 q0 D# _3 p
- n6 @7 i3 j" w. L if(parentNode.parentNode == null)
) `* d3 L' J5 z& i {- Z% n, I2 K1 s" K8 W
isLast=true;+ R% Y3 s9 r2 W1 l: W( z
break;$ C6 c+ V: v- Z9 d
}
! f$ j& D0 g. W+ a8 \. H parentNode=parentNode.parentNode;
( ~' z8 E6 x$ A4 p+ N! g parentBgColor=this.getobjstyle(parentNode,"background-color");5 l3 s' y2 l1 V, c6 i( d
; ]6 }0 |& ~8 w2 E/ a0 Q) F, l
if(parentBgColor != "transparent")
8 v) ~! v" o3 \/ l. s {
4 L. \) c; b3 u& o break;
/ R4 a& P# T* j3 _/ K% ^ }% F) V; |+ o A5 Y4 x; q, \5 S
}6 Z. y) T, o, v
if(isLast)
) c3 m% f( T5 {7 c {( L& k @4 A3 O, a" t0 j
if(debug): o3 K, ?* n, ^/ n5 W' H% M
{6 |8 _4 Z8 d( |' [( u, e
alert("last!!");0 W- P* _+ j. C2 p( a1 W+ H
}
; Z! I e! ~4 |6 A4 R9 s) n if((Math.abs(orgRGB[0]-255)<=minValue)&&(Math.abs(orgRGB[1]-255)<=minValue)&&(Math.abs(orgRGB[2]-255)<=minValue))
2 P3 N0 B( i/ g {# n9 w( B; V" p" t& k" r3 m' p
orgNode.parentNode.removeChild(orgNode);
+ d1 F% g; ~3 Z }
4 I. ^/ N" x# N5 d6 j }( `- v) y( b* @
else6 Q) _- b- j2 a3 X) y4 W d: S
{
% M+ u& `' X3 s" A0 E; D if(debug)! W! l4 p1 q% a5 ?+ O5 y
{
5 b/ i" X9 M' C$ i alert("compare color and parent bgcolor!");$ X4 y% R, I, f6 K) x: }
}
9 p$ }& }# V k parentBgRGB=getRGB(parentBgColor);# C$ M# l# n# Z. E+ t! c: l
if((Math.abs(orgRGB[0]-parentBgRGB[0])<=minValue)&&(Math.abs(orgRGB[1]-parentBgRGB[1])<=minValue)&&(Math.abs(orgRGB[2]-parentBgRGB[2])<=minValue))
2 Y# X+ v; D$ M8 B4 | {
$ W1 T: m O' V' F3 L; U orgNode.parentNode.removeChild(orgNode); / ]: @" R* ~: b. e
}( D6 o; _: A% r ], G9 t' H G
}+ F) E0 W/ X5 R3 I
}
( f2 F4 B9 Y2 m }
, z- a5 s3 f1 X4 U; q' m }
& i. Z- K: H7 {- q; _ }+ B+ t& j1 r0 y6 U: a! l
* W$ x8 ?3 z2 s0 _3 n! J. r7 P& H
1 T- S. x- l N, ?6 f( U var itemFrames = page.getElementsByTagName("frame");
/ a* g& L1 M# a" u* J1 ]) W; u) q var itemiFrames = page.getElementsByTagName("iframe");$ i% d0 ]# r+ \, o. k8 E5 N, Z6 W
& o+ ?1 Y: A8 k; y
var frame, iframe;
8 M# b C- V# g4 H2 @# j if (itemFrames.length > 0)
& w# Y5 I, _) B' e: m0 [ {6 v# P% Y) t2 P Q$ t
for (var i = 0 ; i< itemFrames.length ; i++) 4 c% T9 F5 Y' X( `
{
# }7 w* P" d; Y' Q" e. }( \ frame = itemFrames.contentDocument;# s$ ~* \# z& j' l
this.RemoveHide(frame,objname);
# {6 ^" u% S4 l2 S$ @ }
! ^+ J& u* w& t% R" D5 Q) D7 ^ }8 Q3 z" X4 t' Q: R* {0 H
if (itemiFrames.length > 0)/ W4 a6 f1 u5 o$ V$ @
{+ Q5 k, O( {: ~
for (var i = 0 ; i < itemiFrames.length ; i++)
8 @3 |& ?7 f5 e- M- ~* ~+ a {2 d6 u' g+ c9 _6 R* L- G
iframe = itemiFrames.contentDocument;
# J+ W2 |$ c. E8 K/ m0 c' _9 y this.RemoveHide(iframe,objname); ( m- }; I" ~) U' r
}& K5 J& P) J' @9 r. @
}6 W* L9 N: {! R" q7 T: w
}
# `1 ~; ?. D+ M; k% { catch(e). G$ ^% d9 g: Q; h" y. B
{
( @/ _ V) s. J* o if(debug)6 t" f( s& {5 y) i: B
{
9 J' C& g$ ~% u* @+ q alert(e.message);, b: `# c! _( j5 J+ L% u
}
" y$ A4 i/ M+ e' L6 E8 e. [2 D }4 i+ P) R: _0 A' L) n Q1 p! H* q6 [
}
# d; F" l9 ]) Z+ h1 O 8 s. n9 }! n# k" M! p1 f( g& K
}
8 R, v2 k, _& S$ j- I9 J
* |/ E6 g# U r5 Vfunction getRGB(colorString)8 A+ h$ [0 t5 Q3 x& B8 m
{9 p# U+ y& \# u" k8 M+ n$ g8 }
var RGB = new Array;
+ B3 n) i) b$ i; t0 Y var tempSting=colorString.substring(4,colorString.length-1);2 o: s& j- z' P/ [) j
var tempArray=tempSting.split(",");5 A: s- G, h* T) b9 T
' L$ J1 G$ c# I0 k7 F1 Y2 a
RGB[0]=parseInt(tempArray[0]);
* }/ Z0 v1 g2 C5 E RGB[1]=parseInt(tempArray[1]);0 Z- y) c+ w5 ~$ n
RGB[2]=parseInt(tempArray[2]);$ e# L- g8 T5 @! P% g" }
0 G/ h- ~& t9 o: w. a" G return RGB;! X( O( g0 H) J$ W& U
}
9 q: l b5 C4 i$ B2 X9 _function keys(evt) % J a! U" ~+ ?5 }/ P8 ^6 m
{ . E2 u. R3 Z- j1 R$ J, |
if(evt.ctrlKey && evt.keyCode=="81") 5 B/ C* q5 A, I
{
6 ?: |' n0 m8 \/ h CleanHideObj.on(0,1);: f! j9 b* Z5 i- E$ `8 q" l
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q"); # }6 t. o: i8 n6 Z/ a
4 w3 }# S1 F4 l/ A } 6 R S9 |7 l3 b4 w2 T
} - L$ x8 J( V8 t
document.addEventListener('keydown', keys, false);
, U2 }2 k) T# ]" D ^GM_registerMenuCommand ('Clean Hide',
5 H3 f l, e: i; @8 D( Qfunction(e){
, z! }& A& O0 s7 K, I1 Y# ?CleanHideObj.on(0,1)# c1 A0 {! ~! i/ ^; ?3 {: `
alert("Clean Hide successfully! Remember Hotkeys: CTRL+Q");0 n) L, ]4 S# v# k9 s& A
});
$ i7 v7 Q# F6 H/ ]) B4 } |
评分
-
查看全部评分
|