作者xamous (一天死去一點)
看板Ajax
標題[問題] 關於 javascript 的執行順序
時間Thu Dec 20 17:09:02 2007
我的 js 程式分成兩部份
第一個部份是一些變數,因為內容有一些動態產生的部份
需要寫在動態頁面 html 裡面
第二個部份是獨立的 js 檔案,用 <script src> 標籤載入。內容是
一些程式碼,監聽 window.onload 事件,當頁面載入完畢就執行 init(),
在 init() 會使用到前面提過寫在頁面裡的變數。
但是也許因為這些變數的內容有點大,在執行 init() 時,可能
那些變數還沒被初始化,造成執行 init() 出現該變數未定義
的錯誤,這個錯誤我只在 IE 裡碰到。
請問有沒有什麼方法可以確保 init() 在執行前,這些變數已經被初
始化完畢呢?
我曾經試過把變數包在一系列函式 getSomething() 裡,需要的時候呼叫這
些函式取得變數,結果現在問題變成函式尚未定義 -_-
謝謝~m(_ _)m
--
雁子回到了遙遠的北方 妳的名字我已想不起來 別怪我 生命太匆忙
http://blog.xamous.net
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.175.81.176
※ 編輯: xamous 來自: 218.175.81.176 (12/20 17:12)
※ 編輯: xamous 來自: 218.175.81.176 (12/20 17:13)
1F:→ TonyQ:在body上的onload執行? 12/20 19:17
2F:→ TonyQ:眼殘 , 那就做檢測吧 用import的方式 . 12/20 19:18
3F:→ TonyQ:除了自己判斷變數是不是初始化完了以外 應該沒別條路 12/20 19:18
4F:推 LPH66:或者一樣是檢測的 動態的那一部份code最後加一個check=1; 12/21 03:36
5F:→ LPH66:然後去檢查check是否真是1了 是就OK 12/21 03:36
6F:→ xamous:最後改成那些動態產生的內容用JSON格式透過XHR動態load進來 12/25 17:01
7F:→ xamous:這樣一來原始頁面的產生時間也快了一點 :P 12/25 17:02