JavaScript中的window.location.href
和window.open ()
方法之间有什么区别?
答案 0 :(得分:450)
window.location.href
不是方法,它是一个告诉您浏览器当前网址的属性。更改属性的值将重定向页面。
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
答案 1 :(得分:30)
window.open
将打开一个包含指定网址的新浏览器。
window.location.href
将在调用代码的窗口中打开URL。
另请注意,window.open()
是窗口对象本身的函数,而window.location
是一个公开各种other methods and properties的对象。
答案 2 :(得分:13)
window.open是一种方法;你可以打开新窗口,并可以自定义它。 window.location.href只是当前窗口的一个属性。
答案 3 :(得分:10)
已经有答案描述了window.location.href属性和window.open()方法。
我将按目标使用:
使用window.location.href。将href属性设置为另一个页面的href。
使用window.open()。根据您的目标传递参数。
使用window.location.href。获取window.location.href属性的值。您还可以从window.location对象获取特定的协议,主机名,hashstring。
有关详细信息,请参阅Location Object。
答案 4 :(得分:8)
window.open ()
会打开一个新窗口,而window.location.href
会在当前窗口中打开新网址。
答案 5 :(得分:0)
window.open
将在新的浏览器标签页中打开网址
window.location.href
将在当前选项卡中打开url(相反,您可以使用location
)
这里是example fiddle(在摘要页中,open.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>