JavaScript中的window.location.href和window.open()方法

问题描述 投票:234回答:6

JavaScript中的window.location.hrefwindow.open ()方法有什么区别?

javascript location window href window-object
6个回答
446
投票

window.location.href不是一种方法,它是一个告诉您浏览器当前URL位置的属性。更改属性的值将重定向页面。

window.open()是一种方法,您可以将URL传递给要在新窗口中打开的URL。例如:

window.location.href示例:

window.location.href = 'http://www.google.com'; //Will take you to Google.

window.open()示例:

window.open('http://www.google.com'); //This will open Google in a new window.


Additional Information:

window.open()可以传递额外的参数。见:window.open tutorial


29
投票
  • window.open将使用指定的URL打开一个新的浏览器。
  • window.location.href将在调用代码的窗口中打开URL。

另请注意,window.open()是窗口对象本身的函数,而window.location是暴露各种other methods and properties的对象。


13
投票

window.open是一种方法;你可以打开新窗口,并可以自定义它。 window.location.href只是当前窗口的一个属性。


10
投票

已经有答案描述了window.location.href属性和window.open()方法。

我会按目标使用:

1.将页面重定向到另一个页面

使用window.location.href。将href属性设置为另一个页面的href。

2.在新窗口或特定窗口中打开链接。

使用window.open()。根据您的目标传递参数。

3.了解页面的当前地址

使用window.location.href。获取window.location.href属性的值。您还可以从window.location对象获取特定的协议,主机名,hashstring。

有关更多信息,请参阅Location Object


8
投票

window.open ()将打开一个新窗口,而window.location.href将在您当前窗口中打开新URL。


0
投票

window.open将在新的浏览器Tab中打开url

window.location.href将在当前Tab中打开url(而不是你可以使用location

这是example fiddle(在SO片段window.open不起作用)

var url = 'https://example.com';

function go1() { window.open(url) }

function go2() { window.location.href = url }

function go3() { location = url }
<div>Go by:</div>
<button onclick="go1()">window.open</button>
<button onclick="go2()">window.location.href</button>
<button onclick="go3()">location</button>
© www.soinside.com 2019 - 2024. All rights reserved.