javascript - 如何在不使用 window.close() 的情况下在 chrome 中使用 javascript 关闭当前选项卡?
问题描述
我想创建一个用于进行在线考试的网页,因此如果用户切换到其他选项卡,则必须在第一次查看后结束考试并且必须关闭当前选项卡。
我已经在 Javascript 中使用页面可见性 API 来查找用户切换到其他的视图数量tabs.window.close()
在 chrome 中不起作用。
if(document.hidden==true){
views++;
if(views==1){
close_window();return false();
}
alert( "Your view count is: <b>" + views +
". " + "Your page current state is: " +
document[(prefix === "" ? "v" : prefix + "V") + "isibilityState"] + "</b><br />");
}
}
function testPageVisibilityApi() {
if (prefix === null)
document.getElementById("log").innerHTML = "Your browser does not support Page Visibility API";
else {
document.addEventListener(prefix + "visibilitychange", countView);
countView();
}
}
有什么建议么?
解决方案
JS:
function close_window() {
if (confirm("Close Window?")) {
close();
}
}
HTML:
<a href="javascript:close_window();">close</a>
或者:
<a href="#" onclick="close_window();return false;">close</a>
我们return false
在此处添加以防止事件的默认行为。否则浏览器将尝试访问该 URL。
有关 Firefox,请参阅本文。
推荐阅读
- php - 从 Instagram 中的标签获取照片
- apache - 删除后是否可以重新安装solr?
- c# - 如何在不创建新实例的情况下根据另一个列表从列表中删除多个元素?
- php - 为什么在 Laravel 5.6 中没有更新表格列的值?
- ios - 使自定义交互式 UIViewController 解除调用相关的视图外观方法
- vue.js - 为什么从计算切换到方法时,以下 Vue.js 代码不起作用?
- python - 选择 BeautifulSoup .text 方法打印什么?
- java - 如何使具有多个状态的类作为线程安全?
- visual-studio-code - 如何同时换行 - VS Code
- javascript - Json.parse 将数字视为字符串作为有效的 json 对象