2015-04-16 70 views
-1

我不知道是否發佈此類主題的好地方,但經過一些關於如何檢測瀏覽器是否不支持window.close( )方法在JavaScript:檢測window.close()支持的有效解決方案

How do I programmatically detect how a browser handles window.close()?

Detecting if window.close worked

多次嘗試後,我想我找到了讓這個方法工作的可靠解決方案。

我在移動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

怎麼樣特徵檢測?這會告訴你至少瀏覽器是否有這個功能。至於瀏覽器的行爲,我不確定如果它與標準不同,可以真正確定行爲將會發生什麼。這是一個完善的生活水平。

var supportsclose = ("close" in window) 
&& typeof window["close"] === "function"; 

console.log(supportsclose); 

https://developer.mozilla.org/en-US/docs/Web/API/Window/close

相關問題