尝试在页面加载后加载A js链接

时间:2017-12-30 10:21:11

标签: javascript jquery

我试图在5秒页面加载后加载一个js链接。当我的页面加载然后js链接工作。

我的链接是

<script src="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/js/bootstrap.min.js"></script>

当页面加载时,5秒后此链接将起作用。

3 个答案:

答案 0 :(得分:1)

您可以使用promises

来使用类似的内容
// Make a function to return a promise for the sleep duration
function sleep(ms)
{
    return new Promise(resolve => setTimeout(resolve, ms));
}

// make a function to handle the sleep
async function loadNewScript(seconds, src)
{
    await sleep(seconds * 1000);   // This is 5 seconds (time in miliseconds)
    getScript(src);   
}

// make a function to get the script
function getScript(src)
{
    return new Promise(function (resolve, reject)
    {
        var s;
        s = document.createElement('script');
        s.src = src;
        s.onload = resolve;
        s.onerror = reject;
        document.head.appendChild(s);
    });
}

// And then just call it on pageload (this is not full page load, only DOM)
document.addEventListener("DOMContentLoaded", function()
{
   // loadNewScript(seconds, src)
   loadNewScript(5, "http://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/js/bootstrap.min.js");
});

答案 1 :(得分:0)

您可能希望在脚本代码中使用defer选项。

<script defer src="..."></script>

使用此选项,脚本下载/执行不会干扰html解析。

Here您可以看到其他选项。

答案 2 :(得分:0)

您可以在DOM中添加脚本元素。看看here

你可以做的是插入带有setTimeout的脚本元素:

webdriver-manager