Ein Weg wäre zu überprüfen, ob es eine .shadowRoot -Eigenschaft für ein Element gibt, aber ich muss einen booleschen Wert zurückgeben, bevor die Seite gerendert wird.Wie überprüft man, ob ein Browser Shadow-DOM unterstützt
Antwort
Ein einfacher Feature-Test wäre:
if(document.head.createShadowRoot || document.head.attachShadow) {
// I can shadow DOM
} else {
// I can't
}
Dies funktioniert sogar, wenn Sie das Skript im Kopfteil enthalten und übernimmt keine bösartigen Skripte vor Ihnen hinzugefügt wurden (eine sichere Annahme).
Derzeit unterstützen Chrome, Opera und abgeleitete Browser (wie Android-Browser) es. Für weitere Informationen, besuchen Sie: http://caniuse.com/#feat=shadowdom
Gibt es etwas, gegen das ich in 'window' nachsehen kann? Ich muss testen, bevor die Seite geladen wird (Selen). – Indolering
nm, scheint dies in wdio.io Setup/vor Funktion zu funktionieren. Immer noch an einer Antwort interessiert. – Indolering
das hat in Safari 10.1 ein falsches Negativ, da es v0 ist. V1 verwendet 'attachShadow' –
- 1. Wie überprüft man, ob ein Framework BITCODE für Xcode7 unterstützt
- 2. Wie überprüft man, ob Javascript typisierte Arrays unterstützt werden?
- 3. OpenGL: Wie überprüft man, ob der Benutzer glGenBuffers() unterstützt?
- 4. Wie überprüft man, ob Zeichen vom Browser des Benutzers in JavaScript nicht unterstützt werden?
- 5. wie überprüft man, ob der Browser eine bestimmte CSS-Eigenschaft unterstützt
- 6. Wie überprüft man, ob ein Registrierungsschlüssel existiert
- 7. Wie überprüft man, ob ein Pfad existiert?
- 8. Wie überprüft man, ob localhost
- 9. Wie überprüft man, ob ein Objekt in Python iterierbar ist?
- 10. Wie überprüft man, ob ein Objekt eine Funktion hat? (DoJo)
- 11. Wie überprüft man, ob ein Benutzer noch aktiv ist?
- 12. Wie erkennt man, ob ein HTML5-Eingabesteuerelement unterstützt wird?
- 13. Wie überprüft man, ob ein Zeichen ein Apostroph ist?
- 14. Wie überprüft man, ob ein Java-Zeichen ein Währungssymbol ist
- 15. Wie überprüft man, ob ein String ein bestimmtes Zeichen enthält?
- 16. C - Wie überprüft man, ob ein Prozess ein Systemprozess ist?
- 17. Wie überprüft man, ob ein Wort ein Palindrom ist?
- 18. Wie überprüft man, ob ein Element ein spezifisches Klassenattribut enthält
- 19. Wie überprüft man, ob ein String ein int enthält? -Swift
- 20. Wie überprüft man, ob crosswalk webview?
- 21. Wie überprüft man, ob Javascript deaktiviert ist?
- 22. fest, ob Browser integrierten Windows-Authentifizierung unterstützt
- 23. semantic-ui javascript: Wie überprüft man die unterstützten Browser?
- 24. Wie unterstützt man Transitionend ohne Browser-Sniffing?
- 25. Prüfen, ob Browser HTML5 Timepicker unterstützt
- 26. Wie testen, ob aktuelle Browser ein tagName
- 27. Erkennen, ob der Browser Position unterstützt:
- 28. Wie überprüft man, ob Selektor qtip hat?
- 29. Wie überprüft man, ob eine Klasse existiert
- 30. Wie überprüft man, ob ein Datum abgelaufen ist (PHP)
Da Sie Ihren Code ausführen, bevor der Rest der Seite trotzdem lädt, alles blockiert, bis Ihr Code fertig ist, erstellen Sie ein Element, überprüfen Sie, entfernen Sie es, fahren Sie fort. – Nit