JavaScript中的window.location.href
和window.open ()
方法有什么区别?
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.
window.open()
可以传递额外的参数。见:window.open tutorial
window.open
将使用指定的URL打开一个新的浏览器。window.location.href
将在调用代码的窗口中打开URL。另请注意,window.open()
是窗口对象本身的函数,而window.location
是暴露各种other methods and properties的对象。
window.open是一种方法;你可以打开新窗口,并可以自定义它。 window.location.href只是当前窗口的一个属性。
已经有答案描述了window.location.href属性和window.open()方法。
我会按目标使用:
使用window.location.href。将href属性设置为另一个页面的href。
使用window.open()。根据您的目标传递参数。
使用window.location.href。获取window.location.href属性的值。您还可以从window.location对象获取特定的协议,主机名,hashstring。
有关更多信息,请参阅Location Object。
window.open ()
将打开一个新窗口,而window.location.href
将在您当前窗口中打开新URL。
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>