如何等到网页加载javascript?

时间:2013-03-17 16:11:54

标签: javascript html

我希望使用javascript在html中的两个页面之间进行更改,但是当我使用window.location进行更改时,此句之后的代码将继续执行。

因此,当我这样做时,调用getElementById()它无法识别该元素,因为该页面仍在加载。

function myFun(){

    // ...

    window.location = 'page.html';

    // ... wait until page.html is loaded

}

如何等到页面加载以避免此问题?

3 个答案:

答案 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加载到当前窗口后执行某些代码的唯一方法如下:

  1. 将其加载到iframe或其他窗口中,并监视iframe或窗口何时完成加载。通过这种方式,您当前的代码将保持不变并且不会被替换。
  2. page.html中设置一些代码,用于监控何时完成加载并从那里触发所需的操作。