|

楼主 |
发表于 2015-9-4 13:30:21
|
显示全部楼层
本帖最后由 fengdh 于 2015-9-4 16:32 编辑 ( k( z2 x8 q. A1 _; R
# g3 `8 v" |/ R! ^6 p3 ?
6 ^. G; i1 u( A3 `1 }: ~* m- \" _3 f已经修改了online demo,加入了对内嵌JavaScript的支持。2 ^7 t; v: ]5 F, B% L6 P0 W, K
H6 z# O& H7 a+ [* e% C
关于插件,联系过ChaZD插件的作者,看他能不能加上对MDict的支持。9 R9 R# y& t" }2 e# l( [0 D
不知道你有没有兴趣一起开发?我想做成这样的
0 m/ K3 L3 {1 l9 Ohttp://www.hi-pda.com/forum/viewthread.php?tid=1210672
5 r9 }$ D% ~4 ?
, M3 X- O+ I( O+ p; ~
+ `0 j( u. Y! V- k有一点建议,内嵌JavaScript(l.js)中直接用了很多全局变量/函数,对于模块化来说不是很好。建议用匿名函数即刻调用的形式来尽量避免污染全局空间。比如:+ O- T$ Y) c# X; A* b' w
- & I- w6 d" D! k, i8 o" X- j! \
- (function _my_code(window) {# _; L% B3 s( O, m/ M4 o
- function u(c, n) {..}
# @$ T6 a& Z( o2 [ - ..
, d. @. E# s/ u5 A - function w() {..}; m8 r: h2 N9 E' [; g- U4 Q) w
- var F = 0;
/ w0 _' K. I0 }
Q* ^% t0 b; V4 R- function i() {5 F/ A7 F+ b' _
- if (!F) {
]; H* f2 A$ C+ W9 d- ?* s. R - F = 1;
$ ^" q/ |: H- a+ E& i - w();3 p# x, @# I* D9 B6 e4 p6 @
- if (!window.ActiveXObject && window.addEventListener) window.addEventListener("resize", w, false);
7 k2 ^1 y; ^# S8 K; I' x8 r7 ~ - }
& n- O1 s& o- R3 O# D2 E - }
- L; ^) w4 `9 T: B: K; m& j - if (window.addEventListener) window.addEventListener("load", i, false);
3 k& {" U* ~1 a - else window.attachEvent("onload", i);
6 e: B# l) i3 x# `) q - ( Y% C+ ?- l) A
- }) (this); /* In global scope, "this" is the window object. */) w/ F& f( Z% P/ K7 y/ }9 b
复制代码
7 I5 @- H; g d; p# V2 l [, e, h) O2 W8 U9 ?6 R' ]& B; Y, V
具体到你提供的 l.js, 只在window的onload事件中调用resize处理,以显示选中(或初始A)字母开头的单词项。而在我实现的查词界面只会部分更新单词定义的内容,不会每次重载页面以立即显示A开头的单词列表。无奈我之好延迟发送resize事件。不知道你可否修改的更好一点。
; `# i$ w- F. O8 F, y% {2 l0 g+ Z" _ Z; I% ?( ^+ |! _
另外,现在JavaScript一般不用 with 语句以免降低程序性能。而大多数浏览器除了 document.getElementByTagName() 之外,还提供了 querySelectorAll()和 querySelector(),使用CSS同样的语法更容易选中特定HTML元素。 |
|