Czy istnieje zalecany test w celu ustalenia, czy przeglądarka użytkownika obsługuje atrybut „zakres” elementów „stylu”?
Odpowiedzi:
6 dla odpowiedzi № 1Nie sądzę, że istnieje zalecany test, ale właśnie go napisałem i polecę go
var is_scoped = (function(s) {
s.setAttribute("scoped", "true");
return !!s.scoped;
})(document.createElement("style"));
do użycia jako
if ( is_scoped ) {
// scoped styles are supported
}
style o zasięgu obecnie obsługiwane są tylko w najnowszym Firefoksie.
Napisane nieco bardziej szczegółowe, łatwiej zobaczyć, co się dzieje
var style = document.createElement("style");
style.setAttribute("scoped", "true");
var is_scoped = style.scoped === true;
Tworzymy tag stylu i ustawiamy zakres atrybut na prawdę.
W przeglądarkach, które obsługują zakres, który również ustawia podstawową właściwość zakresu, więc style.scope
byłoby true
w obsługiwanych przeglądarkach byłoby to niewspierające przeglądarki undefined
.
Jest to zwykły sposób sprawdzania obsługi wielu funkcji i działa równie dobrze z scoped
.
2 dla odpowiedzi nr 2
Możesz spróbować tego ..
var is_scoped = (function(s) {
return "scoped" in s;
})(document.createElement("style"));