URL編碼:
星期日, 2月 11, 2007
JavaScript的Memory Leak
據說IE中javascript使用reference count來處理物件的生命週期,當有循環參照時就會發生物件死不了的狀況,因而產生memory leak。關於此問題,有以下相關討論:
- http://isaacschlueter.com/2006/10/msie-memory-leaks/
- 據說Yahoo! User Interface Library採用輪詢(polling)的方式來偵測http request物件的readystate,避免因為指定function給onreadystate而造成循環參照。
- http://keelypavan.blogspot.com/2006/03/reusing-xmlhttprequest-object-in-ie.html
- 另一種可能是重複使用同一個物件。不過這種方法似乎用在IE的http request物件上會有一些問題,上述page有提供解決方案:
req_fail_IE.open("GET", url, true);
req_fail_IE.onreadystatechange = processReqChange_fail_IE; //open後再設handler
req_fail_IE.send("");
星期六, 2月 10, 2007
AJAX除錯
JavaScript logger
- JSLog: http://earthcode.com/blog/tools/contents.html
- 整個site取消log:
在jslog.js中找到config_enabled,將之設定成false - 單頁啟用logger:
在該頁的url中加入「&enablejslog」如 http://localhost/mypage.do?foo=bar&enablejslog - log4javascript: http://www.timdown.co.uk/log4javascript
如果要將log資訊回傳伺服器,可以考慮使用log4javascript
瀏覽器端除錯工具
- DebugBar: http://www.debugbar.com/
可用來在IE上檢視dom資訊
訂閱:
文章 (Atom)