一、JS关闭页面的代码
通过window.close()方法可以关闭当前浏览器窗口:
window.close();
但是需要注意的是,只有通过window.open()方法打开的窗口才可以通过window.close()关闭,通过浏览器左上角的关闭按钮或者使用Ctrl + W快捷键关闭的窗口是无法通过window.close()关闭的
二、JS关闭页面的title
在通过window.open()方法打开的窗口中,可以通过给打开的页面设置title属性,然后在通过window.close()关闭时可以携带提示信息:
var newWindow = window.open("http://www.example.com","myWindow","width=200,height=100"); newWindow.document.title = "关闭提示"; newWindow.close();
三、JS关闭页面事件
可以通过给window对象绑定beforeunload事件,在关闭窗口前进行一些操作或者给出确认提示:
window.addEventListener("beforeunload", function(event) { event.preventDefault(); // 在此处添加需要执行的操作 event.returnValue = ''; });
需要注意的是,event.preventDefault()方法是阻止窗口关闭的默认行为,如果要关闭窗口,必须将event.returnValue设置为空。
四、JS关闭页面触发的事件
页面关闭时会触发unload事件:
window.addEventListener("unload", function(event) { // 在此处添加需要执行的操作 });
五、JS关闭页面方法
除了使用window.close()方法来关闭当前窗口,还可以使用window.open()方法打开一个空白窗口,然后通过window.opener.close()来关闭父窗口:
var newWindow = window.open("about:blank", "_self"); newWindow.opener = null; newWindow.close();
六、JS关闭页面弹窗
在关闭窗口时弹出确认提示框:
window.onbeforeunload = function() { return "您确定要离开吗?"; };
七、JS关闭页面监视器
可以通过使用setInterval()方法来监视当前窗口是否被关闭:
var closeWindow = null; var checkWindow = function() { if(window.closed) { clearInterval(closeWindow); // 在此处添加需要执行的操作 } } closeWindow = setInterval(checkWindow, 500);
上面的代码每隔500毫秒检查一次当前窗口是否被关闭,如果被关闭了就清除监视器。
八、JS关闭页面弹出消息
在关闭窗口时弹出消息提示框:
window.onbeforeunload = function() { alert("您确定要离开吗?"); };
九、JS停止关闭页面
可以通过使用clearInterval()方法停止已经启动的关闭窗口操作:
var newWindow = window.open("http://www.example.com","myWindow","width=200,height=100"); var closeWindow = setInterval(function() { newWindow.close(); }, 5000); // 停止关闭窗口操作 clearInterval(closeWindow);
上面的代码在5秒后会关闭新打开的窗口,但是可以通过clearInterval()方法来取消关闭。