DANCE WITH JAVA

          開發(fā)出高質(zhì)量的系統(tǒng)

          常用鏈接

          統(tǒng)計(jì)

          積分與排名

          好友之家

          最新評(píng)論

          在一個(gè)js文件中引入另一個(gè)js文件

          第一個(gè)js文件(被引入的js文件),文件名one.js,內(nèi)容如下
          function alertInOne(){
              alert(
          'in one');
          }

          第二個(gè)js文件,文件名two.js,內(nèi)容如下
          //注意這個(gè)地方
          document.write("<script language='javascript' src='one.js'></script>");
          function alertInTwo()
          {
              alert(
          "in Two");
          }

          調(diào)用的html文件,只需要引入two.js,就能引入one.js了
          <script language='javascript' src="two.js"></script>
          <script language="javascript">
              alertInOne();
              alertInTwo();
          </script>

          應(yīng)用場(chǎng)合:
          在平時(shí)開發(fā)的時(shí)候,我們都會(huì)有一些js文件的積累,大部份場(chǎng)合是不需要重新寫的。
          但我們會(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://www.aygfsteel.com/Files/dreamstone/importJs.rar

          posted on 2007-02-12 17:00 dreamstone 閱讀(50312) 評(píng)論(6)  編輯  收藏 所屬分類: jdk相關(guān)腳本語言javascript

          評(píng)論

          # re: 在一個(gè)js文件中引入另一個(gè)js文件 2007-02-20 09:51 kedou

          這種邏輯是對(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)論   

          # re: 在一個(gè)js文件中引入另一個(gè)js文件 2007-09-10 14:06 leonzhu

          但有個(gè)問題,這種方法是不能在 two.js 中用 one.js 中定義的函數(shù)。
          瀏覽器似乎是先解析直接被 html 用的 two.js
          在兩個(gè)文件中加 alert 即可發(fā)現(xiàn)。
          所以,這種方案并不完美。
          暫時(shí)未找到解決辦法。  回復(fù)  更多評(píng)論   

          # re: 在一個(gè)js文件中引入另一個(gè)js文件 2007-09-10 14:48 dreamstone

          @kedou
          為什么要在一個(gè)js文件中引入太多 ?
          體重這種方法并不是讓所有的頁面都這么處理,簡(jiǎn)單的引入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)論   

          # re: 在一個(gè)js文件中引入另一個(gè)js文件 2007-09-10 14:50 dreamstone

          @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)論   

          # re: 在一個(gè)js文件中引入另一個(gè)js文件 2013-01-06 09:45 yahoo

          @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)論   

          # re: 在一個(gè)js文件中引入另一個(gè)js文件 2013-04-25 17:54 lsw521314

          好強(qiáng)悍的論證!@dreamstone
            回復(fù)  更多評(píng)論   

          主站蜘蛛池模板: 阜康市| 鹿邑县| 邵武市| 朝阳县| 新乡市| 河间市| 岳普湖县| 呼图壁县| 衡东县| 昌平区| 佛山市| 正蓝旗| 三明市| 习水县| 乌鲁木齐县| 同江市| 荆州市| 麻城市| 瑞昌市| 肇庆市| 会昌县| 平乐县| 瑞金市| 清徐县| 常山县| 建昌县| 乌鲁木齐县| 白山市| 泗阳县| 山阳县| 屏山县| 平湖市| 喀喇沁旗| 海南省| 广德县| 黔东| 林芝县| 岳普湖县| 忻城县| 肇源县| 凤凰县|