我想在网页上创建一个链接,将关闭浏览器中当前活动的选项卡,而不关闭浏览器中的其他选项卡。当用户单击关闭链接时,将出现一条警告消息,要求用户使用“YES”和“NO”两个按钮确认。如果用户单击“是”,关闭该页面,如果“否”,什么都不做。
怎样才能做到呢?有什么建议吗?
我想在网页上创建一个链接,将关闭浏览器中当前活动的选项卡,而不关闭浏览器中的其他选项卡。当用户单击关闭链接时,将出现一条警告消息,要求用户使用“YES”和“NO”两个按钮确认。如果用户单击“是”,关闭该页面,如果“否”,什么都不做。
怎样才能做到呢?有什么建议吗?
当前回答
您可以尝试使用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()只有在通过window.open(…)打开时才会工作。
但我想了个办法!
当没有包含window.open(…)时,添加一个空标签 当关闭的最佳时间出现时,调用window.close 如果2。已经返回一个错误,替换任何标签或HTTP参数与一个空的标签,最后关闭窗口
<button onclick="myFunction()">Close</button>
<script>
if (location.href.indexOf("#") == -1) {
window.open(location.href + "#", "_self")
}
function myFunction() {
try {
window.close()
} catch (err) {
window.open(location.href.substring(0, location.href.indexOf("?")).substring(0, location.href.indexOf("#")) + "#", "_self")
window.close()
}
}
</script>
在这个现场演示中输入关闭
这是可能的。我搜索了整个网络,但有一次当我做微软的一项调查时,我终于得到了答案。
试试这个:
window.top.close();
这将为您关闭当前选项卡。
对于仍在访问此页面的人,您只允许关闭由脚本打开的选项卡或使用带有target _blank的HTML锚标记。这两个都可以使用
<script>
window.close();
</script>
在FF 18和Chrome 24测试成功:
插入头部:
<script>
function closeWindow() {
window.open('','_parent','');
window.close();
}
</script>
HTML:
<a href="javascript:closeWindow();">Close Window</a>
感谢马科斯·j·德雷克。
window.close()在2k21中不起作用,因为脚本可能只关闭由它们打开的窗口。
但是如果标签在浏览器中不是手动打开的,而是自动打开的,那么window.close()就可以工作了。
自动(当close()工作时):
<a href="/close" target="_blank">浏览器将在新选项卡中打开地址,该选项卡可以用close()关闭 当新的浏览器标签从另一个应用程序打开(当你点击一个链接在Telegram/Whatsup/Outlook等)-操作系统将打开新的标签,它可以关闭close() 当你用window.open('ya.ru')打开时,当然可以用close()关闭它
手动(当它不工作时):
当你打开新的浏览器并输入地址。 当您单击(+)打开新选项卡,并键入地址