我想在网页上创建一个链接,将关闭浏览器中当前活动的选项卡,而不关闭浏览器中的其他选项卡。当用户单击关闭链接时,将出现一条警告消息,要求用户使用“YES”和“NO”两个按钮确认。如果用户单击“是”,关闭该页面,如果“否”,什么都不做。
怎样才能做到呢?有什么建议吗?
我想在网页上创建一个链接,将关闭浏览器中当前活动的选项卡,而不关闭浏览器中的其他选项卡。当用户单击关闭链接时,将出现一条警告消息,要求用户使用“YES”和“NO”两个按钮确认。如果用户单击“是”,关闭该页面,如果“否”,什么都不做。
怎样才能做到呢?有什么建议吗?
当前回答
试试这个
<a href="javascript:window.open('','_self').close();">close</a>
其他回答
以下工作为我在Chrome 41:
function leave() {
var myWindow = window.open("", "_self");
myWindow.document.write("");
setTimeout (function() {myWindow.close();},1000);
}
我尝试了几个FF的想法,包括打开一个实际的网页,但似乎都不起作用。据我所知,任何浏览器都会用xxx.close()关闭一个标签或窗口,如果它真的是由JS打开的,但FF,至少,不能通过在标签中打开新内容来关闭一个标签。
仔细想想,这是有道理的——用户可能不希望JS关闭一个有有用历史记录的选项卡或窗口。
您将需要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会要求用户确认。其他浏览器可能有所不同。
我只是想添加window.close()在2021,chrome 91工作,但并不总是。如果标签中没有历史记录(你不能返回),它就可以工作的情况之一。
在我的情况下,我想创建自毁选项卡,关闭后几秒钟,但我在努力如何去开发服务器避免新选项卡,因为显然新选项卡也是选项卡,它被保存在选项卡历史:D我创建的链接大约:空白选项卡与目标=_blank属性,它导致新选项卡,window.close()方法终于工作了!
试试这个
<a href="javascript:window.open('','_self').close();">close</a>
据我所知,在Chrome或FireFox中已经不可能了。这在IE中仍然是可能的(至少在edge之前)。