Re: [問題] 外部javascript想知道頁面是否載入完成

看板Ajax作者 ( )時間14年前 (2012/05/07 13:31), 編輯推噓2(209)
留言11則, 2人參與, 最新討論串2/2 (看更多)

05/02 12:37,
把domready lib例如https://github.com/ded/domready
05/02 12:37

05/02 12:37,
複製進extjs.js直接使用
05/02 12:37
> to xiphoid大: > 我想把ded domready放進我的extjs.js,用匿名函數包起來,不想讓外面呼叫它, > function() { > //這裡是ded domready的code > })(); > 可是我在外面還是可以呼叫的到它,請問應該要怎麼做呢? > 這幾天都在研究它,但是看不懂!function (name, definition){...}這一段的意思 !function (name, definition) { if (typeof module != 'undefined') module.exports = definition() else if (typeof define == 'function' && typeof define.amd == 'object') ... else this[name] = definition() }('domready', function (ready) { 改成 function domready(ready) { 就不會讓domready曝光 說明 ---- if (typeof module ... 支援 CommonJS http://wiki.commonjs.org/wiki/Modules/1.1 else if (typeof define ... 支援 AMD https://github.com/amdjs/amdjs-api/wiki/AMD else this[name] = definition() 都沒有就把domready綁到window/global,this在這裡===window http://addyosmani.com/writing-modular-js/ 有相關介紹 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.34.34.70

05/10 01:37, , 1F
謝謝xiphoid大,原來是因為被綁到window的關係
05/10 01:37, 1F

05/10 01:39, , 2F
http://jsfiddle.net/JduvB/ 我照大大說的改
05/10 01:39, 2F

05/10 01:45, , 3F
結果傳進去的function不會執行,我嘗試搞懂return那段
05/10 01:45, 3F

05/10 01:46, , 4F
好像是判斷dom是否已載入,是就直接執行傳進去的函數
05/10 01:46, 4F

05/10 01:48, , 5F
否則push到array,等載入完再執行,但是搞不懂為什麼我傳
05/10 01:48, 5F

05/10 01:49, , 6F
的函數都沒動作,再拜託xiphoid大幫我看一下,謝謝
05/10 01:49, 6F

05/10 08:50, , 7F
抱歉 其實我沒測試 以為這樣改就好
05/10 08:50, 7F

05/10 08:50, , 8F
正確版 http://jsfiddle.net/JduvB/1/ domready要自call
05/10 08:50, 8F

05/11 08:42, , 9F
=.= 再更正 忘了加var http://jsfiddle.net/JduvB/2/
05/11 08:42, 9F

05/11 22:24, , 10F
xiphoid大,已經可以跑囉,我居然花了這麼久的時間研究這
05/11 22:24, 10F

05/11 22:24, , 11F
段code,謝謝xiphoid大協助
05/11 22:24, 11F
文章代碼(AID): #1Ffrv4b5 (Ajax)
文章代碼(AID): #1Ffrv4b5 (Ajax)