问答中心分类: HTML在同一窗口和同一选项卡中打开URL
0
匿名用户 提问 1天 前

我想在同一个窗口和包含链接页面的同一选项卡中打开链接。
当我尝试使用打开链接时window.open,则它将在新选项卡中打开,而不是在同一窗口的同一选项卡中。

15 Answers
0
vdbuilder 回答 1天 前

您需要使用name属性:

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

编辑:Url应以协议开头。如果没有,它会尝试打开相对url。在Chrome 59、Firefox 54和IE 11上测试。

ijse 回复 1天 前

第二个参数只是新窗口的名称,就像属性一样target=标签的a事实上,你可以给你的窗户取任何你喜欢的名字。您所需要的只是将其设置为不同的值,这样它就不会在同一个窗口或选项卡中打开。

vdbuilder 回复 1天 前

@实际上,有几个特殊的名称,其中一个是“u self”,它指的是代码运行的win/tab

Bryan Rayner 回复 1天 前

MDN中未指定“U self”[开发者.mozilla.org/en-US/docs/Web/API/Window/open]window.open()上的文档。更跨浏览器的解决方案是使用location.replace()。

groovecoder 回复 1天 前

上面评论中的MDN链接是自动链接到404的developer.mozilla.org/en-US/docs/Web/API/Window/open

Dem Pilafian 回复 1天 前

_self在第节中提到5.1.6浏览上下文名称HTML5 W3C建议2014年10月28日在:org/TR/html/browsers.html#浏览上下文名称(但是window.location仍然更干净)。

FrenkyB 回复 1天 前

$window(“www.address.com”,“\u self”)-也以角度方式工作

Qazi 回复 1天 前

它不起作用,我们不知道原因。我试过了window.location.href="....."

brat 回复 1天 前

@Qazi Yah。这些解决方案都不适用于我。实际上,我想打开一个与我打开的文件相对的文件。也许firefox不明白?清理现金还是需要什么?没有“自我”部分,它会打开,但在新的Windows xP中,我确实尝试了“空白”,如下所示:support.mozilla.org/en-US/questions/1165910现在它起作用了。

user13889515 回复 1天 前

它必须是“你自己”吗?我用其他字符串名(如“testabcd”)进行了尝试,效果很好

0
Dave L. 回答 1天 前

使用此选项:

location.href = "http://example.com";
Harry 回复 1天 前

这是首选窗口。打开(根据stackoverflow.com/questions/4813879/…)

Kick Buttowski 回复 1天 前

airbnb linter不喜欢location.herf。必须在开头提到窗口。

0
andromeda 回答 1天 前

为了确保链接在同一选项卡中打开,您应该使用window.location.replace()
请参见以下示例:

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

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

shyam_ 回复 1天 前

它不能保存浏览历史,我们不应该使用它。相反,请尝试打开窗口google.com“,”顶部“)参考链接org/…

kevin walker 回复 1天 前

我正在使用它作为内部页面的内部插件的一部分,这是完美的。浏览器历史并不是一个真正的问题,因为它是为了自动化,那些使用它的人不需要手动访问任何页面。谢谢你的片段!

0
Tom Berthold 回答 1天 前

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

window.open('?','_self');
Quentin 回复 1天 前

那不是同一页。它将从现有URL中删除任何查询字符串。

0
Magesh 回答 1天 前

如果你的页面在“框架”内,那么
将在同一帧内重定向。所以通过使用

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

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