Cómo detectar el soporte para el atributo de "ámbito" de estilo

¿Hay alguna testing recomendada para determinar si el browser del usuario admite el atributo "scoped" en los elementos "style"?

2 Solutions collect form web for “Cómo detectar el soporte para el atributo de "ámbito" de estilo”

No creo que haya una testing recomendada, pero acabo de escribir una, y la recomendaré

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

para ser utilizado como

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

VIOLÍN

los styles con ámbito actual solo se admiten en el último Firefox.

Escrito un poco más detallado, es más fácil ver qué está pasando

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

Creamos una label de estilo y establecemos el atributo de ámbito en verdadero.
En los browseres que admiten el scope, eso también establece la propiedad de scope subyacente, por lo que style.scope sería true para los browseres compatibles, y los browseres no compatibles no estarían undefined .

Esta es la forma habitual de search soporte para una multitud de características, y funciona igual de bien con el scoped .

Puedes probar esto …

 var is_scoped = (function(s) { return 'scoped' in s; })(document.createElement('style')); 
  • ¿Cómo editar propiedad CSS 'clip' en JQuery?
  • $ (event.target) .closest (). length para ocultar div no siempre funciona. Alguna alternativa?
  • Cambiar el color del text en mouseover
  • CSS - ¿Compartir el set de reglas de @Keyframes con Animación-Dirección y Animación-Modo de relleno?
  • Cómo crear una label <style> con Javascript
  • Selectores de grupos CSSRules con properties comunes
  • ¿Cómo eliminar todos los styles henetworkingados y calculados de un elemento?
  • ¿Por qué esta representación DIV sin dimensiones?
  • Javascript tiene muchos buenos JS marco (como Node.js AngularJS Vue.js React.js) es el mejor lenguaje de script.