繁体   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