非window.open形式打开的子页面用js的window.close在chrome下就会提示scripts may close only the windows that were opened by it。
网上的很多解决方法都是把当前页面为空,在IE和360浏览器也不能直接关闭页面,翻到stack overflow的解决方案:
if(navigator.userAgent.indexOf("Firefox") != -1 || navigator.userAgent.indexOf("Chrome") != -1) {
open(location, '_self').close();
window.location.href="about:blank";
window.close();
}else {
window.opener = null;
window.open("", "_self");
window.close();
open(location, '_self').close();
}
open(location, '_self').close(); 加了这个非火狐和chrome(像360浏览器之类)就能直接把当前页面关闭了。