我不知道这是否是发布此类主题的好地方,但经过一些研究,如何检测浏览器是否不支持JavaScript中的window.close()方法:
How do I programmatically detect how a browser handles window.close()?
Detecting if window.close worked
经过多次尝试,我认为我找到了一种可靠的解决方案,可以让这种方法发挥作用。
我在Mobile Safari(iOS)和Internet Explorer上测试它,当用户对现有确认回答“否”时。我发布了这个主题,因为我想知道有多少浏览器支持我找到的黑客,我需要测试人员。
有问题的代码:
function selfclose(){
var quit = true;
window.close(); // try to quit
quit = false; // will be executed if not out of app or not supported
setTimeout(function(){ // give a little delay for allowing browser to exit without firing error message
if(!quit){
alert("You haven't quit the website or your browser doesn't support self-closing.");
}
},400);
}
答案 0 :(得分:0)
功能检测怎么样?这至少会告诉你浏览器是否具有该功能。至于浏览器的行为,我不确定如果它与标准不同,可以真正确定行为是什么。这是一个完善的生活标准。
var supportsclose = ("close" in window)
&& typeof window["close"] === "function";
console.log(supportsclose);
https://developer.mozilla.org/en-US/docs/Web/API/Window/close