簡體   English   中英

加載頁面后如何獲取JavaScript文件?

[英]How to get a JavaScript file after you have loaded the page?

我想將AJAX表單加載到我的頁面上,並附加它自己的validation.js 我怎樣才能做到這一點?

我試圖用自己的$.ajax請求加載每個人,然后成功在頁面上輸出HTML,但是validation.js在表單上不起作用。

我可以在現有頁面中加載一個JavaScript文件,然后加載一個HTML文件(帶有ajax ),然后在該頁面上獲取HTML輸出以響應此JavaScript函數嗎?

頁面加載后,使用以下javascript在異步模式下添加javascript文件。

(function() {
  var d=document,
  h=d.getElementsByTagName('head')[0],
  s=d.createElement('script');
  s.type='text/javascript';
  s.async=true;
  s.src='/js/myfile.js';
  h.appendChild(s);
}()); 

如果您有許多要通過這種方式加載的文件,則可以將其轉換為函數調用。

function asyncLoader(scriptName)
{
  var d=document,
  h=d.getElementsByTagName('head')[0],
  s=d.createElement('script');
  s.type='text/javascript';
  s.async=true;
  s.src = scriptName;
  h.appendChild(s);
}

此方法不能保證/通知js文件何時加載。 為此,您可以在正在加載的文件中放置一些事件調用。

如果您要從ajax加載一些html並將其添加到當前的html中(作為innerHtml),則可以將<script>標記放入該html中,其行為與上述代碼相同。

請參閱此問題及其答案以獲取更多詳細信息。

編輯

以下是使用$.getScript的JQuery方法

$.getScript("path/my_script.js", function(){
  console.log( "Load was performed." );
});  //JQuery can also be used instead of $

使用$.ajax做同樣的事情

$.ajax({
  url: "path/my_script.js",
  dataType: "script",
  success: function(){
    console.log( "Load was performed." );
  }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM