簡體   English   中英

如何判斷瀏覽器是否支持<input type='date'>

[英]How can I tell if a browser supports <input type='date'>

可能的重復:
HTML5 類型檢測和插件初始化

<input type=date>

應該使用(可選)用戶代理提供的日期選擇器創建輸入,但它尚未得到廣泛支持,因此我們使用 jQuery UI 日期選擇器。 我們如何才能允許瀏覽器使用自己的日期選擇器並僅在瀏覽器沒有這樣的東西時才使用 jQuery UI?

目前我認為只有 Opera 有內置的日期選擇器,但對 Opera 的測試顯然很糟糕。 有沒有辦法檢測到這個功能(如果它可以以便攜的方式)?

下面的方法檢查大多數瀏覽器是否支持某些輸入類型:

function checkInput(type) {
    var input = document.createElement("input");
    input.setAttribute("type", type);
    return input.type == type;
}

但是,正如評論中提到的simonox ,一些瀏覽器(如 Android 股票瀏覽器)假裝它們支持某種類型(如日期),但它們不提供用於日期輸入的 UI。 因此, simonox使用在日期字段中設置非法值的技巧改進了實現。 如果瀏覽器清理了這個輸入,它也可以提供一個日期選擇器!!!

function checkDateInput() {
    var input = document.createElement('input');
    input.setAttribute('type','date');

    var notADateValue = 'not-a-date';
    input.setAttribute('value', notADateValue); 

    return (input.value !== notADateValue);
}

暫無
暫無

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

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