-5

window.location.href用来加载页面,现在我已经切换到window.onload()功能,但是页面没有加载一些内容。

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

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

4

4 回答 4

6

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

直接分配onload函数也已被addEventListener取代。

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

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

…但是如果您在页面加载后立即执行此操作,那么您应该使用 HTTP 重定向。

于 2013-07-24T09:14:47.847 回答
2

两者是完全不同的概念

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

于 2013-07-24T09:14:43.263 回答
1

它们都在完全不同的上下文中使用。

onload 是一个事件

location.href 是一个属性

*window.onload*

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

*window.location.href*

这用于重定向目的。我只会在我希望我的用户转到某个不同的页面时使用它。

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

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

当较短的路线如此有效时,为什么要选择更长的路线?

于 2013-07-24T09:31:49.807 回答
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>

谢谢。

于 2013-07-24T09:20:48.757 回答