Как проверить, поддерживается ли ввод HTML5? - PullRequest
11 голосов
/ 26 ноября 2011

Я хочу проверить на своем веб-сайте, поддерживает ли браузер посетителей тип ввода HTML5.Как мне это сделать?

Ответы [ 4 ]

24 голосов
/ 26 ноября 2011

С полями формы вы можете использовать это:

var i = document.createElement("input");
i.setAttribute("type", "color");
return i.type !== "text";

Если цвет поддерживается, i.type будет цветным, но если он не поддерживается, навигатор возвращает текст по умолчанию.Так что простая проверка, как это может помочь вам.

13 голосов
/ 26 ноября 2011

Modernizr поддерживает проверку новых типов ввода.

1 голос
/ 26 ноября 2011

Вы можете сделать:

function IsAttributeSupported(tagName, attrName) {
    var val = false;
    // Create element
    var input = document.createElement(tagName);
    // Check if attribute (attrName)
    // attribute exists
    if (attrName in input) {
        val = true;
    }
    // Delete "input" variable to
    // clear up its resources
    delete input;
    // Return detected value
    return val;
}

if (!IsAttributeSupported("input", "placeholder")) {
    // Do something special here
    alert("placeholder attribute is not supported");
}

Надеюсь, это поможет

0 голосов
/ 02 октября 2013

Я бы прокомментировал принятый ответ, но не позволил бы мне без определенной репутации, поэтому я сделаю это таким образом. если браузер работает с типом ввода, который он не распознает, он автоматически по умолчанию будет использовать текстовый ввод. поэтому я бы сказал, что JS в ответе не нужен (если вы не хотите использовать по умолчанию что-то отличное от 'text')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...