|

楼主 |
发表于 2015-9-4 13:30:21
|
显示全部楼层
本帖最后由 fengdh 于 2015-9-4 16:32 编辑
1 ^; a% w3 B5 K7 H
. k- m) K# B& M. o( F5 v; h- R
7 e" s% s/ X0 _2 z0 I" `1 M* F已经修改了online demo,加入了对内嵌JavaScript的支持。
# ~/ A5 K1 W1 `; y N% q7 J8 M6 w3 b& Q; d
关于插件,联系过ChaZD插件的作者,看他能不能加上对MDict的支持。
3 J& ?8 }; i( i: }% [! d% a不知道你有没有兴趣一起开发?我想做成这样的, ]5 t/ u/ x+ q5 w" N0 O1 V1 F
http://www.hi-pda.com/forum/viewthread.php?tid=1210672
$ ~4 [) V. g5 H
* s: H1 ], P% w0 t) D3 W
L7 u$ I* R1 f4 j4 c3 B& V f有一点建议,内嵌JavaScript(l.js)中直接用了很多全局变量/函数,对于模块化来说不是很好。建议用匿名函数即刻调用的形式来尽量避免污染全局空间。比如:
; E+ P' W+ Y9 V, d/ d- W8 i/ i- % }, O. a, I* @2 i9 J" s4 ~
- (function _my_code(window) {1 Y1 K3 L6 ?7 g/ ]
- function u(c, n) {..}
5 Y4 }7 ?5 x$ \" b' d* f - .. 9 D+ o5 ?8 ]0 f% q4 L
- function w() {..}
1 R0 _/ l( y5 f* R' ~ - var F = 0;# K w" w ^) o1 X* b0 x
- ! Y9 {( q+ H; i% a
- function i() {! U" |) Y. V& Q$ g: m2 `
- if (!F) {
5 h! d1 q. P+ g! _! E - F = 1;
# l# X1 O8 [* P- m4 Z ~+ v) C+ f* F - w();
g6 o8 C2 S# e2 l% o - if (!window.ActiveXObject && window.addEventListener) window.addEventListener("resize", w, false);- \. h, e( I$ N9 V
- }
. f1 [7 y1 \4 {6 N* U& B$ V" ? - }1 H( G$ L/ h5 h7 x
- if (window.addEventListener) window.addEventListener("load", i, false);+ l: ` y4 L, A3 _. w* O' t3 d
- else window.attachEvent("onload", i);: q+ ~5 ^2 a3 X/ ?4 n: X
-
1 \" n; r! L9 P( l6 O - }) (this); /* In global scope, "this" is the window object. */9 `3 b, q7 t: t U
复制代码
1 ^. q! d" x: N7 c
4 A4 X8 v5 U! R& M( u具体到你提供的 l.js, 只在window的onload事件中调用resize处理,以显示选中(或初始A)字母开头的单词项。而在我实现的查词界面只会部分更新单词定义的内容,不会每次重载页面以立即显示A开头的单词列表。无奈我之好延迟发送resize事件。不知道你可否修改的更好一点。
2 l9 j4 ~* J/ S7 S. Q$ q7 y3 [! n1 o; ^( F( T
另外,现在JavaScript一般不用 with 语句以免降低程序性能。而大多数浏览器除了 document.getElementByTagName() 之外,还提供了 querySelectorAll()和 querySelector(),使用CSS同样的语法更容易选中特定HTML元素。 |
|