|

楼主 |
发表于 2015-9-4 13:30:21
|
显示全部楼层
本帖最后由 fengdh 于 2015-9-4 16:32 编辑
# K+ |' h8 j* R" d) M1 a% q# N( `. F" B" | q
8 _% h) M1 M2 d
已经修改了online demo,加入了对内嵌JavaScript的支持。7 F& }& i& ~( S1 {; g, y
* l& U" b; K6 {; g8 g! f' T: b$ Y关于插件,联系过ChaZD插件的作者,看他能不能加上对MDict的支持。
9 e# |: o6 ~! z& K不知道你有没有兴趣一起开发?我想做成这样的' O2 O4 g R1 X: C! K! s
http://www.hi-pda.com/forum/viewthread.php?tid=1210672
M, V/ H! O1 G* U& p6 ] 2 P' } `$ e6 A5 f2 {* N
n! t1 ?, ~0 p1 F- y s+ P1 ^1 k
有一点建议,内嵌JavaScript(l.js)中直接用了很多全局变量/函数,对于模块化来说不是很好。建议用匿名函数即刻调用的形式来尽量避免污染全局空间。比如:/ c9 z( }4 k' Y
- " }+ h. ~: J1 D5 C. H
- (function _my_code(window) {
2 L6 e/ K0 c$ @* G, v$ c& H - function u(c, n) {..}- k# Y& V/ z) k( n
- ..
) s3 D. b: G) U# o! S+ ?0 j - function w() {..}
: \/ h5 L; w+ w6 p - var F = 0;
$ P1 h: U* R( ~4 _ q" S# L# i
/ d3 ^. c& u0 k1 d: H! E) _, {2 i2 g3 {- function i() {
4 | S% [" |( `6 o5 c - if (!F) {
6 @' a" P8 U9 G1 o* o - F = 1;
4 u! E1 W0 A. x7 g. H - w();
/ J" i2 F4 I T - if (!window.ActiveXObject && window.addEventListener) window.addEventListener("resize", w, false);
3 f5 y* `# _( i: L# u0 j2 C# k - }7 h: k* H' U% a" ]3 j8 x9 R
- }
7 u6 v2 `. W- E' o! { - if (window.addEventListener) window.addEventListener("load", i, false);& m2 [% n5 H( f3 C B
- else window.attachEvent("onload", i);# u* n) h1 c% m/ |
- ) X5 U8 g( M- g/ Q
- }) (this); /* In global scope, "this" is the window object. */
" K- A& x# N. t( k# z# y3 z
复制代码
0 A+ s, F" A5 \ [
6 ]% W- k0 Q Z/ q具体到你提供的 l.js, 只在window的onload事件中调用resize处理,以显示选中(或初始A)字母开头的单词项。而在我实现的查词界面只会部分更新单词定义的内容,不会每次重载页面以立即显示A开头的单词列表。无奈我之好延迟发送resize事件。不知道你可否修改的更好一点。7 Z/ `8 R4 ^" D* J+ @
4 m7 z6 S E# m9 |0 i$ {- N2 n6 a# V
另外,现在JavaScript一般不用 with 语句以免降低程序性能。而大多数浏览器除了 document.getElementByTagName() 之外,还提供了 querySelectorAll()和 querySelector(),使用CSS同样的语法更容易选中特定HTML元素。 |
|