在同一窗口和同一选项卡中打开 URL

IT技术 javascript html hyperlink href
2021-02-02 22:02:09

我想在同一个窗口和包含带有链接的页面的同一个选项卡中打开一个链接。

当我尝试使用打开链接时window.open,它会在新选项卡中打开,而不是在同一窗口的同一选项卡中。

6个回答

您需要使用 name 属性:

window.open("https://www.youraddress.com","_self")

编辑:Url 应该加上协议。没有它会尝试打开相对 url。在 Chrome 59、Firefox 54 和 IE 11 中测试。

上面评论中的 MDN 链接是自动链接到 404。链接是developer.mozilla.org/en-US/docs/Web/API/Window/open
2021-03-14 22:02:09
@ijs​​e 实际上,有一些特殊名称,其中之一是“_self”,它指的是运行代码的 win/tab。;)
2021-03-19 22:02:09
第二个参数只是新窗口的名称,就像target=tag的属性一样a事实上,您可以随意命名您的窗口。您所需要的只是设置不同的值,这样它就不会在同一个窗口或选项卡中打开。
2021-03-25 22:02:09
_self2014 年 10 月 28 日HTML5 W3C 建议书的5.1.6浏览上下文名称提到w3.org/TR/html/browsers.html#browsing-context-names(但仍然更清晰)。window.location
2021-03-27 22:02:09
'_self' 未在 MDN [ developer.mozilla.org/en-US/docs/Web/API/Window/open] docs on window.open() 中指定。更跨浏览器的解决方案是使用 location.replace()。
2021-03-29 22:02:09

用这个:

location.href = "http://example.com";
这比 window.open 更受欢迎(根据stackoverflow.com/questions/4813879/...
2021-03-18 22:02:09
airbnb linter 不喜欢 location.herf。开头提到window是必须的。
2021-03-20 22:02:09

为了确保链接在同一个选项卡中打开,您应该使用 window.location.replace()

请参阅以下示例:

window.location.replace("http://www.w3schools.com");

来源:http : //www.w3schools.com/jsref/met_loc_replace.asp

我将它用作内部页面的内部插件的一部分,它非常完美。浏览器历史并不是真正的问题,因为它是自动化的,使用它的人无需手动访问任何页面。谢谢你的片段!
2021-03-11 22:02:09
它不保留浏览历史,我们不应该使用它。而是尝试 window.open(" google.com","_top" ) 参考链接geeksforgeeks.org/...
2021-04-07 22:02:09

您可以在不指定 url 的情况下将其转到同一页面:

window.open('?','_self');
那不是同一页。它将从现有 URL 中删除任何查询字符串。
2021-03-17 22:02:09

如果您的页面位于“框架”内,则“Window.open('logout.aspx','_self')”

将在同一帧内重定向。所以通过使用

"Window.open('logout.aspx','_top')"

我们可以将页面作为新请求加载。