我想在网页上创建一个链接,该链接将关闭浏览器中当前活动的选项卡,而不关闭浏览器中的其他选项卡。
当用户单击关闭链接时,将出现一条警告消息,要求用户使用两个按钮“是”和“否”进行确认。如果用户单击“是”,则关闭该页面,如果“否”,则不执行任何操作。
怎么做到呢?有什么建议么?
我想在网页上创建一个链接,该链接将关闭浏览器中当前活动的选项卡,而不关闭浏览器中的其他选项卡。
当用户单击关闭链接时,将出现一条警告消息,要求用户使用两个按钮“是”和“否”进行确认。如果用户单击“是”,则关闭该页面,如果“否”,则不执行任何操作。
怎么做到呢?有什么建议么?
<button class="closeButton" style="cursor: pointer" onclick="window.close();">Close Window</button>
这为我做了工作
有点晚了,但这就是我发现的...
window.close()
仅当您尝试close()
使用window.open()方法的脚本打开了您尝试打开的窗口时,IE才起作用。
!(请参阅下面@killstreet关于目标_blank的锚标记的评论)
TLDR:chrome和firefox允许关闭它们。
您将收到控制台错误:脚本可能无法关闭脚本未打开的窗口。作为错误,仅此而已。
您可以在URL中添加一个唯一参数,以了解是否从脚本中打开了页面(例如时间)- 但它只是一个hack,而不是本机功能,在某些情况下会失败。
我找不到任何方法可以知道该页面是否通过open()打开,并且关闭不会引发错误。 这不会打印 “测试”:
try{
window.close();
}
catch (e){
console.log("text");
}
您可以在MDN中阅读更多有关close()函数的信息
以下内容适用于Chrome 41:
function leave() {
var myWindow = window.open("", "_self");
myWindow.document.write("");
setTimeout (function() {myWindow.close();},1000);
}
我为FF尝试了几种想法,包括打开实际的网页,但似乎没有任何效果。据我了解,如果JS 确实打开了任何浏览器,则任何浏览器都会使用xxx.close()关闭标签或窗口,但是至少FF不能通过在该标签内打开新内容来欺骗FF。
当您考虑时,这很有意义-用户可能不希望JS关闭具有有用历史记录的选项卡或窗口。
也尝试一下。在所有三种主要浏览器上为我工作。
<!-- saved from url=(0014)about:internet -->
<a href="#" onclick="javascript:window.close();opener.window.focus();" >Close Window</a>
有可能的。我为此搜索了整个网络,但是当我参加了微软的一项调查时,我终于得到了答案。
尝试这个:
window.top.close();
这将为您关闭当前选项卡。
据我所知,Chrome或FireFox不再支持。在IE中(至少在Edge之前)仍然可能。
对于仍在访问此页面的人,只允许您关闭由脚本或通过将HTML的定位标记与目标_blank一起使用打开的选项卡。这两个都可以使用