簡體   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