用于预渲染/预取空白页面的Javascript计时器

时间:2014-04-02 10:18:07

标签: javascript html timer prerender

JS计时器在用完时会清空页面上的所有内容。

window.setTimeout(function() {
document.write("<link rel='prerender' href='http://google.com' />")


}
,10000
); 

当JS被放置在头部和身体内时,效果就会发生。

如何在不将页面变为空白的情况下基于计时器进行预取/预渲染? (所有内容都消失了。没有网址重定向。我留下了空白页面)

1 个答案:

答案 0 :(得分:0)

document.write只能在文档准备好显示之前使用。它应该在构建时内联使用。如果在文档准备就绪后使用它将导致像你面临的问题。

如果您使用的是jQuery,可以使用他们的getScript函数:

window.setTimeout(function() {

    $.getScript('script.js',function(){
       //this is your callback function to execute after the script loads
    });
}
,10000
); 

或者,如果仅使用javascript this问题可能对您有用。他们使用:

(function(d, t) {
var g = d.createElement(t), // create a script tag
    s = d.getElementsByTagName(t)[0]; // find the first script tag in the document
g.src = 'your-script.js'; // set the source of the script to your script
s.parentNode.insertBefore(g, s); // append the script to the DOM
}(document, 'script'));