Как выполнить тег script внутри скрипта, возвращаемого функцией jquery?

0

Один из моих клиентов хотел бы выполнить скрипт после того, как остальная часть содержимого страницы полностью загрузится.

Я предложил следующую функцию 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, не будет вызван?

Кроме того, есть ли у кого-нибудь какие-либо исправления или предложения?

Благодаря,

  • 0
    Где использовались AT_tags?
  • 0
    Аааа, атлас тегов. Вы уверены, что объект атласа не доступен на странице?
Показать ещё 1 комментарий
Теги:

2 ответа

0
Лучший ответ

Попробуйте использовать 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);
  • 0
    Единственная проблема с этим заключается в том, что клиент хотел бы, чтобы скрипт выполнялся строго после загрузки страницы, и когда я пытался это сделать, он одновременно загружал остальное содержимое страницы.
  • 0
    Ну, вы не просто вставили бы это непосредственно в область видимости для выполнения, вы бы хотели обернуть это в функцию и вызвать функцию в точке желаемого выполнения. Я ни разу не проверял это в бою, но это должно сработать.
Показать ещё 1 комментарий
0

Вы можете использовать обратный вызов для $.getScript() как $.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>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню