開發出高質量的系統
應用場合:在平時開發的時候,我們都會有一些js文件的積累,大部份場合是不需要重新寫的。但我們會把js文件的功能盡可能的細分,以便引入的時候不引入無用的代碼,但這樣造成的問題是在jsp文件中要寫大量的這樣的句子<script language='javascript' src="two.js" charset="utf-8"></script>如果你有100個jsp文件,都用到10個js文件,這個時候每個jsp文件寫10句引入,這個是個麻煩的事情現在,通過js文件的引入可以解決這個問題。定義一個js文件用來引入一些組合,jsp文件則只需要引入1個這樣的js文件就可以了。js代碼少了100*99行
另外引入的js文件時候最好加上charset,特別是你的js文件有非英文,數字的時候。事例的代碼下載:http://m.tkk7.com/Files/dreamstone/importJs.rar
posted on 2007-02-12 17:00 dreamstone 閱讀(50291) 評論(6) 編輯 收藏 所屬分類: jdk相關 、腳本語言javascript
這種邏輯是對的,但是有時如果一個公共js所包含的js太多,而引用此js的html又不需要把它們全部引入進來,這樣是不是對網頁加載速度有引響,所以我通常是需要引入哪個js就直接引入,因為通常情況下告個頁面所需的js會不相同 回復 更多評論
但有個問題,這種方法是不能在 two.js 中用 one.js 中定義的函數。瀏覽器似乎是先解析直接被 html 用的 two.js在兩個文件中加 alert 即可發現。所以,這種方案并不完美。暫時未找到解決辦法。 回復 更多評論
@kedou 為什么要在一個js文件中引入太多 ? 體重這種方法并不是讓所有的頁面都這么處理,簡單的引入1-2個js的直接引入就ok了,但有些比較復雜的比如我的自定義js文件中會有一個專門處理字符串的 比如trim ,判斷長度(能區別漢字和字幕混合的),判斷非空,是否半角等 有一個處理日期的:驗證各種格式的日期 有專門的用來校驗各種數字的。 專門用來校驗禁止的,禁止輸入非數字,禁止復制,禁止拖放,禁止某個鍵等等 這些是基本每個都要用到的。 還有寫不是最常用的,比如ajax的封裝 比如treeviewer 比如tableviewer的插刪改 比如關聯列表 比如動態生成控件 如果用到的是不常用的就直接引入,不用文中提到的方式。 但上邊常用的就需要每個都引入,所以可以把常用的用文中提到的方式統一起來。 而且統一起來的方式和分別引入不是互斥的,可以自己靈活掌握。 回復 更多評論
@leonzhu 不知道你怎么嘗試的,我這里是可以的。 one.js不變 function alertInOne(){ alert('in one'); } two.js中調用one.js中的函數 document.write("<script language='javascript' src='one.js'></script>"); function alertInTwo(){ alertInOne(); alert("in Two"); } html中調用,沒有問題 <script language='javascript' src="two.js"></script> <script language="javascript"> //alertInOne(); alertInTwo(); </script> 回復 更多評論
@leonzhu @樓主 你們之間有一個差別: document.write("<script language='javascript' src='one.js'></script>"); 其中 src='one.js' 中路徑的差別 原因:由于是調用方法document.write() ,所以當 html 文件引入two.js 時調用的應該以html 為基準的路徑,而非two.js為基準的路徑。 如果引入路徑 src='one.js' 是以html文件相對one.js 的路徑,那么就不會有問題了 回復 更多評論
好強悍的論證!@dreamstone 回復 更多評論
Powered by: BlogJava Copyright © dreamstone