我想在网页上创建一个链接,将关闭浏览器中当前活动的选项卡,而不关闭浏览器中的其他选项卡。当用户单击关闭链接时,将出现一条警告消息,要求用户使用“YES”和“NO”两个按钮确认。如果用户单击“是”,关闭该页面,如果“否”,什么都不做。

怎样才能做到呢?有什么建议吗?


当前回答

试试这个吧。在三个主要浏览器上都为我工作。

<!-- saved from url=(0014)about:internet -->
<a href="#" onclick="javascript:window.close();opener.window.focus();" >Close Window</a>

其他回答

您将需要Javascript来完成此操作。使用window.close ():

close();

注意:当前选项卡是隐含的。这是等价的:

window.close();

或者您可以指定一个不同的窗口。

So:

function close_window() {
  if (confirm("Close Window?")) {
    close();
  }
}

HTML:

<a href="javascript:close_window();">close</a>

or:

<a href="#" onclick="close_window();return false;">close</a>

这里返回false以防止事件的默认行为。否则浏览器将尝试访问该URL(显然不是这样)。

现在window.confirm()对话框上的选项将是OK和Cancel(不是Yes和No)。如果你真的想要“是”和“否”,你需要创建某种模式Javascript对话框。

注意:与上面的有特定于浏览器的区别。如果你用Javascript打开了这个窗口(通过window.open()),那么你可以用Javascript关闭这个窗口。Firefox不允许关闭其他窗口。我相信IE会要求用户确认。其他浏览器可能有所不同。

试试这个

<a href="javascript:window.open('','_self').close();">close</a>

window.close()在2k21中不起作用,因为脚本可能只关闭由它们打开的窗口。

但是如果标签在浏览器中不是手动打开的,而是自动打开的,那么window.close()就可以工作了。

自动(当close()工作时):

<a href="/close" target="_blank">浏览器将在新选项卡中打开地址,该选项卡可以用close()关闭 当新的浏览器标签从另一个应用程序打开(当你点击一个链接在Telegram/Whatsup/Outlook等)-操作系统将打开新的标签,它可以关闭close() 当你用window.open('ya.ru')打开时,当然可以用close()关闭它

手动(当它不工作时):

当你打开新的浏览器并输入地址。 当您单击(+)打开新选项卡,并键入地址

您可以尝试使用JavaScript + HTML来欺骗浏览器关闭当前窗口:

JS:

function closeWindow() {
 if(window.confirm('Are you sure?')) {
  window.alert('Closing window')
  window.open('', '_self')
  window.close()
 }
 else {
  alert('Cancelled!')
 }
}

HTML:

Some content
<button onclick='closeWindow()'>Close Current Window!</button>
More content

我只是想添加window.close()在2021,chrome 91工作,但并不总是。如果标签中没有历史记录(你不能返回),它就可以工作的情况之一。

在我的情况下,我想创建自毁选项卡,关闭后几秒钟,但我在努力如何去开发服务器避免新选项卡,因为显然新选项卡也是选项卡,它被保存在选项卡历史:D我创建的链接大约:空白选项卡与目标=_blank属性,它导致新选项卡,window.close()方法终于工作了!