2015-04-19 14 views
6

Jednym ze sposobów byłoby sprawdzenie, czy istnieje właściwość .shadowRoot dla elementu, jednak muszę zwrócić wartość boolowską przed renderowaniem strony.Jak sprawdzić, czy przeglądarka obsługuje cień DOM

+0

Ponieważ masz zamiar uruchomić swój kod przed załadowaniem pozostałej strony, blokując wszystko, aż kod się skończy, utwórz element, sprawdź, usuń, kontynuuj. – Nit

Odpowiedz

8

Jeden prosty test funkcja będzie:

if(document.head.createShadowRoot || document.head.attachShadow) { 
    // I can shadow DOM 
} else { 
    // I can't 
} 

to będzie działać, nawet jeśli zawierają skrypt w sekcji head i nie ponosi żadnej złośliwe skrypty dodano przed ofertowe (bezpieczne założenie).

Obecnie obsługiwane są przeglądarki Chrome, Opera i przeglądarki pochodne (takie jak przeglądarki systemu Android). Aby uzyskać więcej informacji, odwiedź: http://caniuse.com/#feat=shadowdom

+0

Czy jest coś, co mogę sprawdzić w "oknie"? Muszę przetestować przed załadowaniem strony (selen). – Indolering

+0

nm, wygląda na to, że działa w trybie instalacji wdio.io/przed funkcją. Wciąż jednak zainteresowany odpowiedzią. – Indolering

+1

ma to fałszywy negatyw w safari 10.1, ponieważ jest to v0. V1 używa 'attachShadow' –

Powiązane problemy