Как определить поддержку атрибута стиля "scoped"



Существует ли рекомендуемый тест для определения того, поддерживает ли браузер пользователя атрибут" scoped "в элементах" style"?

500   2  

2 ответов:

Я не думаю, что есть рекомендуемый тест, но я только что написал один, и я буду рекомендовать его

var is_scoped = (function(s) {
    s.setAttribute('scoped', 'true');
    return !!s.scoped;
})(document.createElement('style'));

Для использования в качестве

if ( is_scoped ) {
    // scoped styles are supported
}

Скрипка

В настоящее время scoped styles поддерживается только в последней версии Firefox.

Написанный немного более многословно, легче увидеть, что происходит

var style = document.createElement('style');
style.setAttribute('scoped', 'true');
var is_scoped = style.scoped === true;

Мы создаем тег стиля и устанавливаем атрибут scoped в true.
В браузерах, поддерживающих scope, это также задает базовое свойство scope, так что style.scope было бы true в поддерживающих браузерах, это не поддерживающие браузеры это было бы undefined.

Это обычный способ проверки поддержки множества функций, и он работает так же хорошо с scoped.

Вы можете попробовать это..

var is_scoped = (function(s) {
    return 'scoped' in s;
})(document.createElement('style'));

Comments

    Ничего не найдено.