簡體   English   中英

如何確定window.confirm()是否受支持?

[英]How to determine if window.confirm() is supported?

我有一個移動網站,各種設備都在使用它,其中包括一些板載計算機,這些計算機運行的是帶有IE 7的Windows Embedded 7的鎖定版本。由於某些原因,我無法解釋, window.confirm()已損壞,但所有其他JavaScript似乎都無法工作。

在連接確認處理程序之前,我什至添加了以下檢查,但是單擊鏈接根本無濟於事。

        if (window.confirm)
        {
            $(".logoff").click(function () 
            {
                return confirm("Are you sure you want to log off?");
            });
        }

如果刪除點擊處理程序,則鏈接將正常運行。 有沒有更好的方法來測試confirm()支持confirm()

怎么樣:

if ('confirm' in window) {
    $(".logoff").click(function () {
        return window.confirm("Are you sure you want to log off?");
    });
}

另一個選項是window.hasOwnProperty('confirm')

您可以使用typeof來檢查window.confirm是否為函數

你可以做

if ('confirm' in window && typeof window.confirm === 'function' ) {
    $(".logoff").click(function () {
        return window.confirm("Are you sure you want to log off?");
    });
}
if(typeof confirm=='function')// window.confirm is defined and a function

盡管以下建議的方法在我測試的每個台式機瀏覽器中均有效,但它們在設備上的評估結果均為true,並且仍未顯示對話框或導航至錨點href中的鏈接。

if (typeof confirm == 'object')
if ('confirm' in window && typeof window.confirm === 'object')
if (window.confirm)

(在IE 7中, typeof somefunction 'function' typeof somefunction'object'而不是'function'

我的解決方案是根據@ThiefMaster的建議使用jQuery UI對話框

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM