308

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

4

6 回答 6

577

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

window.open()是一种可以将 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.

附加信息:

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

于 2011-08-16T11:55:07.600 回答
34
  • window.open将打开具有指定 URL 的新浏览器。

  • window.location.href将在调用代码的窗口中打开 URL。

另请注意,它window.open()是 window 对象本身的一个函数,而window.location它是一个公开各种其他方法和属性的对象。

于 2011-08-16T11:55:28.220 回答
16

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

我将通过客观使用:

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

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

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

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

3.知道页面的当前地址

使用 window.location.href。获取 window.location.href 属性的值。您还可以从 window.location 对象获取特定的协议、主机名、哈希字符串。

有关详细信息,请参阅位置对象

于 2016-09-08T18:28:44.923 回答
14

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

于 2011-08-16T11:59:00.953 回答
9

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

于 2011-08-16T11:52:54.443 回答
2

window.open在新浏览器选项卡中打开 url

window.location.href在当前选项卡中打开 url(而不是您可以使用location

这是示例小提琴(在 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>

于 2019-04-08T15:41:15.683 回答