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