我在页面中使用jQuery。 我通过GoogleApis CDN从头部调用脚本。 在我的页面末尾我使用
$(document).ready(function () {
// code
//
// do something
//
//
setInterval(function() { location.reload(true); }, 40000);
});
问题是在页面刷新后很多次我收到错误:
$ is not defined
on document.ready line
并且脚本停止。
由于某种原因,头部中的jquery未加载并抛出错误。 仅当页面通过javascript location.reload(true)方法加载时才会发生这种情况。
为什么呢?
该页面位于iframe中。 但如果直接调用它也会发生错误。
答案 0 :(得分:0)
当您使用 true 撰写location.reload(true);
时,每次页面重新加载时,浏览器都会从服务器中显示当前页面。这也意味着没有缓存句柄。
在这种情况下,我建议验证所有页面都已加载:
var allLoaded = setInterval(function() {
if (/loaded|complete/.test(document.readyState)) {
clearInterval(allLoaded); // stop the interval
callYourInitFuction(); // the story start here
}
}, 10);
使用这个senario,当你的所有脚本都到位后,你就可以继续了。