繁体   English   中英

如何在jquery函数返回的脚本中执行script标签?

[英]How to execute a script tag inside a script returned by jquery function?

页面的其余部分完全加载后,我的一位客户希望执行脚本。

我建议使用以下jquery函数:

script>

$(window).load(function() {
$.getScript("http://jact.atdmt.com/jaction/JavaScriptTest");
});

</script>

仅在页面其余部分加载后才调用上面的脚本。 但是,上面的脚本也应该在执行后调用另一个脚本。 看起来类似于以下内容:

function AT_tags(){
  try{var tags = new Array();
    var imgs = new Array();
    tags = [];
    for(var i=0; i<tags.length; i++)
    { imgs[i] = new Image();
      imgs[i].src = tags[i];}
    this.csk='Test';
  }catch(e){this.csk='Error';}}
var AT_csk = new AT_tags();
document.write('<s'+'cript language="JavaScript" src="http://jact.atdmt.com/jaction/KamuiTag/"></scr'+'ipt>');

当以这种方式调用第一个脚本时,第二个脚本(即jaction / KamuiTag)没有执行。

有人可以向我解释为什么不能调用使用上述jquery函数执行的脚本中的脚本吗?

此外,有人有任何修复或建议吗?

谢谢,

您可以使用$.getScript()回调,如下所示;

<script>

$(window).load(function() {
  $.getScript("http://jact.atdmt.com/jaction/JavaScriptTest", function() {
    function AT_tags(){
      try{var tags = new Array();
        var imgs = new Array();
        tags = [];
        for(var i=0; i<tags.length; i++)
        { imgs[i] = new Image();
          imgs[i].src = tags[i];}
        this.csk='Test';
      }catch(e){this.csk='Error';}}
      var AT_csk = new AT_tags();
      $.getScript("http://jact.atdmt.com/jaction/KamuiTag/");
  });
});

</script>

尝试使用DOM。

document.head = document.head || document.getElementsByTagName('head')[0];
var js = document.createElement('script');
js.setAttribute('type','text/javascript');
js.setAttribute('src','http://jact.atdmt.com/jaction/KamuiTag/');
document.head.appendChild(js);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM