• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. Javascript加載方法

        時(shí)間:2024-07-11 10:22:01 JavaScript 我要投稿
        • 相關(guān)推薦

        Javascript加載方法

          Javascript文件動(dòng)態(tài)加載一直是比較困擾的一件事情,像網(wǎng)絡(luò)上傳的比較常見(jiàn)的做法:

          function loadjs(fileurl){ var sct = document.createElement("script"); sct.src = fileurl; document.head.appendChild(sct);}

          然后我們來(lái)測(cè)試一下結(jié)果:

          function loadjs(fileurl){ var sct = document.createElement("script"); sct.src = fileurl; document.head.appendChild(sct); } loadjs("http://code.jquery.com/jquery-1.12.0.js"); loadjs("http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js") loadjs("http://bootboxjs.com/bootbox.js")

          代碼加載完后,會(huì)出現(xiàn)下圖的錯(cuò)誤:

          jquery明明是加載在第一個(gè)處理,為什么還是報(bào)jQuery不存在的對(duì)象呢?

          因?yàn)檫@樣加載,相當(dāng)于開(kāi)啟了三個(gè)線程,只是jquery這個(gè)文件先啟動(dòng)線程,而jquery執(zhí)行完這個(gè)線程的時(shí)間,超過(guò)了后面兩個(gè)時(shí)間. 因此后面執(zhí)行完的,可能沒(méi)能找到j(luò)query這個(gè)對(duì)象。

          然這種方式怎么處理呢?

          其實(shí)文件的加載是有個(gè)狀態(tài)處理的.文件的加載有個(gè)onload事件,就是可以監(jiān)聽(tīng)文件是否加載完成的事件.

          因此我們可以考慮這個(gè)方法來(lái)處理我們想要的結(jié)果.我們用直觀的方式來(lái)處理.改進(jìn)后的代碼如下:

          function loadjs(fileurl, fn){ var sct = document.createElement("script"); sct.src = fileurl; if(fn){ sct.onload = fn; } document.head.appendChild(sct); } loadjs("http://code.jquery.com/jquery-1.12.0.js",function(){ loadjs("http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js",function(){ loadjs("http://bootboxjs.com/bootbox.js") }) });

          OK,執(zhí)行完這個(gè)代碼之后,加載文件都是在前一個(gè)加載完成后,才會(huì)加載另外一個(gè),這樣就不會(huì)造成找不到用到的對(duì)象了.

          然后我們來(lái)執(zhí)行一個(gè)彈出框的效果,代碼里面使用了 Bootbox.js 插件. 加載代碼如下:

          loadjs("http://code.jquery.com/jquery-1.12.0.js",function(){ loadjs("http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js",function(){ loadjs("http://bootboxjs.com/bootbox.js",function(){ bootbox.alert("Hello world!", function() { Example.show("Hello world callback"); }); }) }) });

          刷新頁(yè)面,就會(huì)直接顯示彈出框:

          動(dòng)態(tài)加載的代碼,往往容易在這里花費(fèi)很多時(shí)間調(diào)試.大家最好的辦法就是寫一個(gè)最簡(jiǎn)單的例子,理解其中的原因. 這里的代碼都可以進(jìn)行封裝,還可以加入CSS文件的加載.作為自己的插件使用。

        《&.doc》
        将本文的Word文档下载到电脑,方便收藏和打印
        推荐度:
        点击下载文档

        【Javascript加載方法】相關(guān)文章:

        JavaScript常用方法匯總10-25

        JavaScript數(shù)組常用方法介紹09-04

        javascript跨域訪問(wèn)的方法07-09

        javascript編程異常處理的方法08-04

        JavaScript fontcolor方法入門實(shí)例07-07

        使用ajax操作JavaScript對(duì)象的方法09-28

        詳解JavaScript中的splice()使用方法08-20

        關(guān)于javascript尋找錯(cuò)誤方法整理05-23

        最常用的20個(gè)javascript方法函數(shù)09-10

        Javascript中arguments對(duì)象的詳解和使用方法08-20

        在线咨询
        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 久久系列中文字幕 | 在线看片国产在线 | 亚洲国产欧美另类综合 | 色久悠悠五月婷婷 | 中文字幕乱码免费专区精品视频 | 亚洲精品亚洲人成在线 |

            Javascript加載方法

              Javascript文件動(dòng)態(tài)加載一直是比較困擾的一件事情,像網(wǎng)絡(luò)上傳的比較常見(jiàn)的做法:

              function loadjs(fileurl){ var sct = document.createElement("script"); sct.src = fileurl; document.head.appendChild(sct);}

              然后我們來(lái)測(cè)試一下結(jié)果:

              function loadjs(fileurl){ var sct = document.createElement("script"); sct.src = fileurl; document.head.appendChild(sct); } loadjs("http://code.jquery.com/jquery-1.12.0.js"); loadjs("http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js") loadjs("http://bootboxjs.com/bootbox.js")

              代碼加載完后,會(huì)出現(xiàn)下圖的錯(cuò)誤:

              jquery明明是加載在第一個(gè)處理,為什么還是報(bào)jQuery不存在的對(duì)象呢?

              因?yàn)檫@樣加載,相當(dāng)于開(kāi)啟了三個(gè)線程,只是jquery這個(gè)文件先啟動(dòng)線程,而jquery執(zhí)行完這個(gè)線程的時(shí)間,超過(guò)了后面兩個(gè)時(shí)間. 因此后面執(zhí)行完的,可能沒(méi)能找到j(luò)query這個(gè)對(duì)象。

              然這種方式怎么處理呢?

              其實(shí)文件的加載是有個(gè)狀態(tài)處理的.文件的加載有個(gè)onload事件,就是可以監(jiān)聽(tīng)文件是否加載完成的事件.

              因此我們可以考慮這個(gè)方法來(lái)處理我們想要的結(jié)果.我們用直觀的方式來(lái)處理.改進(jìn)后的代碼如下:

              function loadjs(fileurl, fn){ var sct = document.createElement("script"); sct.src = fileurl; if(fn){ sct.onload = fn; } document.head.appendChild(sct); } loadjs("http://code.jquery.com/jquery-1.12.0.js",function(){ loadjs("http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js",function(){ loadjs("http://bootboxjs.com/bootbox.js") }) });

              OK,執(zhí)行完這個(gè)代碼之后,加載文件都是在前一個(gè)加載完成后,才會(huì)加載另外一個(gè),這樣就不會(huì)造成找不到用到的對(duì)象了.

              然后我們來(lái)執(zhí)行一個(gè)彈出框的效果,代碼里面使用了 Bootbox.js 插件. 加載代碼如下:

              loadjs("http://code.jquery.com/jquery-1.12.0.js",function(){ loadjs("http://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js",function(){ loadjs("http://bootboxjs.com/bootbox.js",function(){ bootbox.alert("Hello world!", function() { Example.show("Hello world callback"); }); }) }) });

              刷新頁(yè)面,就會(huì)直接顯示彈出框:

              動(dòng)態(tài)加載的代碼,往往容易在這里花費(fèi)很多時(shí)間調(diào)試.大家最好的辦法就是寫一個(gè)最簡(jiǎn)單的例子,理解其中的原因. 這里的代碼都可以進(jìn)行封裝,還可以加入CSS文件的加載.作為自己的插件使用。