Задержка загрузки скрипта в дом на N секунд - PullRequest
0 голосов
/ 01 марта 2019

После того, как мой сайт загружен, я хочу отложить приведенный ниже javascript на 10 секунд

скрипт:

<script type="text/javascript" id="io258wer15cfg789as69th07er64hziq" src="//mysite.domain.com/script.php?id=io258wer15cfg789as69th07er64hziq" defer></script>

я пробовал это но не работает:

<script 
    setTimeout(
      function(){ 
        type="text/javascript" 
        id="io258wer15cfg789as69th07er64hziq" 
        src="//mysite.domain.com/script.php?id=io258wer15cfg789as69th07er64hziq" 
        defer } 
    ,10000)>
</script>

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Попробуйте это:

document.onload = function() {
  window.setTimeout(function () { 
    var script = document.createElement('script');
    script.async = true;
    script.id = 'io258wer15cfg789as69th07er64hziq';
    script.src = '//mysite.domain.com/script.php?id=io258wer15cfg789as69th07er64hziq".src = "http://whatever.com/the/script.js';
    document.querySelector('head').appendChild(script);
  }, 10000);
};
0 голосов
/ 01 марта 2019

Вы должны добавить его, используя createElement.Так что он будет вводить через 10 секунд.

document.addEventListener("DOMContentLoaded", function(event) {
  setTimeout(addScript, 1000)
});

function addScript() {

  script = document.createElement('script');
  script.type = 'text/javascript';
  script.async = true;
  script.onload = function() {
    console.log("Added Script");
  };
  script.src = 'https://foo.com/bar.js';
  document.getElementsByTagName('head')[0].appendChild(script);
}
...