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