我希望使用javascript在html中的两个页面之间进行更改,但是当我使用window.location
进行更改时,此句之后的代码将继续执行。
因此,当我这样做时,调用getElementById()
它无法识别该元素,因为该页面仍在加载。
function myFun(){
// ...
window.location = 'page.html';
// ... wait until page.html is loaded
}
如何等到页面加载以避免此问题?
答案 0 :(得分:12)
当你这样做时
window.location = 'page.html';
通过新页面替换浏览器中的页面,其中包含myFun
代码的页面。执行该指令后无法执行代码。
如果你想要执行它,并且只在那个更改页面之后(但我没有看到这一点),那么你可能会这样做
document.onload = function(){ window.location = 'page.html'; };
答案 1 :(得分:2)
您可以使用jQuery document.ready,也可以创建自定义绑定this one。如果你使用jQuery。
$(document).ready(function() {
window.location = 'page.html';
});
答案 2 :(得分:1)
执行window.location = 'page.html';
后,您无法在自己的页面中执行代码。您的页面将被新页面替换,当前页面中的代码将不再存在。
在page.html
加载到当前窗口后执行某些代码的唯一方法如下:
page.html
中设置一些代码,用于监控何时完成加载并从那里触发所需的操作。