在javascript中window.location.href和window.onload()的主要区别是什么?

时间:2013-07-24 09:09:37

标签: php javascript jquery

我正在使用window.location.href加载页面,现在我已切换到window.onload()功能,但该页面未加载某些内容。

window.location.href = $(this).val();是我正在使用的代码。

如何使用window.onload()函数编写它?

4 个答案:

答案 0 :(得分:5)

window.onload是一个属性,您可以为其分配一个在页面加载完成后运行的函数。默认情况下它没有为其分配功能,因此除非您首先为其分配功能,否则无法调用它。它与导致浏览器转到其他URL无关。

直接分配onload功能也被addEventListener取代。

您可以为其指定一个将location.href设置为新值的函数

// Don't do this
function redirect() {
    location.href = "http://example.com";
}
addEventListener('load', redirect);

...但如果您在页面加载后立即这样做,那么您应该使用HTTP重定向。

答案 1 :(得分:2)

两者都是完全不同的概念

window.onload事件是DOM中的标准事件,而window.location.href则返回当前页面的位置。

答案 2 :(得分:1)

它们都在完全不同的背景下使用。

onload是一个事件

location.href是一个属性

*window.onload*

如果您想在页面内容完全加载时采取某些操作,则使用此事件(这包括您的所有元素,图像等)。因此您可以根据您的功能分配任何功能如果您的项目在加载内容后需要一些操作。

*window.location.href*

这用于REDIRECTION目的。我只会在我希望我的用户访问某个不同的页面时使用它。

在您的上下文中 在window.onload事件上执行window.location.href是没有意义的。如果你不允许用户在onloading页面上花一些时间,那么我建议你直接加载你所包含的页面

window.location.href="this url shoulod be loaded directly instead";

为什么在较短的路线如此有效时需要更长的路线?

答案 3 :(得分:0)

window.location.href =“url”是您在javascript函数中调用以加载其他页面(url)的内容。当你点击普通网页上的超链接时,它完全相同。

window.onload()是一个事件处理程序;在加载HTML页面时,您可以使用javascript做几件事。换句话说,当页面加载事件发生时,将调用它。

这是两回事。

例如,您可以使用window.location.href =“url”转到另一个页面,在该新页面中,您可以使用window.onload()事件处理程序来执行您希望在该页面上发生的事情装了。

例如:

<script>

window.onload=function(){
  document.write("hi! this text was written when the page was being loaded");
}

</script>

感谢。