Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击jQuery/JavaScript追加并加载脚本_Javascript_Jquery_Html_Ajax_Dom - Fatal编程技术网

单击jQuery/JavaScript追加并加载脚本

单击jQuery/JavaScript追加并加载脚本,javascript,jquery,html,ajax,dom,Javascript,Jquery,Html,Ajax,Dom,我目前有一个网站,我在那里有一个脚本,只需要加载和显示时,点击某个元素的工作。我们正在加载的脚本是外部的,加载速度非常慢,并且阻止dom以应有的速度加载。我希望在单击时附加此脚本或将其内容加载到某个元素中。我到处张望,尝试了许多不同的方法,但都没有成功。我知道这是可能的,以前也做过,但不记得怎么做 注意,我已经尝试将url的内容加载到iframe中,然后克隆并添加到元素中 下面的代码说明了我希望做什么 $("#button").click(function(e){ e.prevent

我目前有一个网站,我在那里有一个脚本,只需要加载和显示时,点击某个元素的工作。我们正在加载的脚本是外部的,加载速度非常慢,并且阻止dom以应有的速度加载。我希望在单击时附加此脚本或将其内容加载到某个元素中。我到处张望,尝试了许多不同的方法,但都没有成功。我知道这是可能的,以前也做过,但不记得怎么做

注意,我已经尝试将url的内容加载到iframe中,然后克隆并添加到元素中

下面的代码说明了我希望做什么

$("#button").click(function(e){
      e.preventDefault();
      var $slowLoadingScript = $('<script src="http://external-slow-script.com/script.js"></script>');      

    $slowLoadingScript.load(function(){
      $("#Element").append(slowLoadingScript);         
    });


  });       

jQuery的
$.getScript()
at.

解释我尝试过这个方法,但没有成功。调用.done()时,它不会提供此脚本中的数据。为什么需要这些数据?JavaScript在加载后执行。我需要执行此脚本的内容,并能够将其附加到某个元素。这不是一个库,而是一个我需要渲染的实际小部件$getScript无法以我尝试过的方式工作。您可以替换
document.write(“一长串html和js”)$('#元素id')的code>。我想你当然应该把这个脚本附加到head部分,对吗?@MikeSmithDev这个脚本很大,它还调用外部脚本。它有jQueryUI、scrollTo和一长串其他库/插件?让它在第一次命中时加载一次,然后缓存不是一个选项?@defau1t-我不想附加到头部,我需要在上面列出的元素中添加它。@MikeSmithDev-脚本是250kb+很难说有6-8个外部文件被调用(css/js)。主要问题是脚本会阻止加载页面的其余部分。
document.write("a long list of html and js");
$('#button').click(function(e){
    e.preventDefault();
    $.getScript('http://external-slow-script.com/script.js');
});