Posted on 2007-03-21 09:07
itspy 閱讀(8979)
評論(3) 編輯 收藏 所屬分類:
JAVA技術
JS沒有直接提供import這個功能,我想肯定有人遇到過這類問題。用baidu搜索了一下,找到了一些但都比較亂,看不太明白,郁悶了2天,后來想一想用google搜索一下。結果找到了幾個網頁講的蠻清楚的。
http://www.cryer.co.uk/resources/javascript/script17_include_js_from_js.htm
然后做了一個簡單的實驗。發現效果不錯。
順便介紹一下應用場景,就好像設計模式一樣,一個東西總要有他的應用場景,平常我們開發時,直接在網頁里面通過“<SCRIPT src="include.js"></SCRIPT>”這種方式添加JS好的很嘛,干嘛要費力引入這種新的方式呢。
在開發JS框架時肯定是要用到這種方法,開發框架時你要求開發者使用你的庫,但要同時引入好幾個文件,這樣會給人帶來很不好的體驗。
另外一種就是我現在遇到的:我寫了幾個頁面,針對這些頁面引入的所有JS函數我全部在一個JS文件中了。但我出于調試的需要,我要引入一個JS庫(firebuglite),這個庫專門用來打印log,如果不引入的話,我寫的這些JS就會出錯,也就是我要找出哪些頁面引用了我的這個JS文件。然后在所有的頁面通過<SCRIPT src="include.js"></SCRIPT> 的方式來添加這個打印log的庫。
我當時就想,既然只有我的這個JS文件要用,我干嘛不通過include直接把它包含進來,這樣就只要添加一處就行了,不要在每個頁面都去添加,一不小心就忘記加錯了,或者是將來不要了,又忘記刪除,留下一推垃圾。這就是我之所以使用include的原因。或者是別人引用了我的包,而我不知道,這樣也會形成錯誤,如果使用這種include就不會這樣了。
?
?
示例下載地址:http://m.tkk7.com/Files/itspy/AJAX.rar
firebuglite:http://www.getfirebug.com/docs.html
因為使用了相對目錄來include,最好全部解壓縮之后才能運行,不能直接在壓縮包中運行。
核心代碼:
function IncludeJavaScript(jsFile)
{
? document.write('<script type="text/javascript" src="'
??? + jsFile + '"></script>');
}