Ich baue tatsächlich eine Web-App mit benutzerdefinierten Polymer-Elementen (die auf Web-Komponenten und Shadow-Dom basiert), aber ich stieß auf ein ernstes Problem.
Ich möchte, dass diese App auf einem Android 4.4-WebView ausgeführt wird, aber ich habe beim Testen der App im WebView einige Probleme mit dem Schatten-Dom festgestellt, obwohl es in Chrome (Android und Desktop) einwandfrei funktioniert. Dieses Problem tritt auf, wenn ich versuche, auf ein shadowRoot-Element von CSS (mit :: shadow oder / deep /) oder von reinem js zuzugreifen.
Hier ist eine einfache Illustration meines Problems:
%Vor% %Vor%Funktioniert perfekt in Chrome, aber nicht im WebView. Laut caniuse.com wird shadow-dom von Android 4.4 Browser (der vom WebView verwendet wird, oder?) Mit dem Präfix 'webkit' unterstützt ( Ссылка ), aber ich habe keine Möglichkeit gefunden, es mit dem Präfix zu verwenden.
Irgendeine Lösung?
Danke
Baptiste
Dies war auf der Polymerseite:
Bei Browsern ohne systemeigenem Schatten-DOM verwenden Sie die Funktion
wrap
, um auf Methoden und Eigenschaften Ihres Elements zuzugreifen:
wrap(%code%).fire('my-event');
wrap(%code%).myproperty
Hier finden Sie weitere Dokumentation zu shadowDOM und polyfill: Ссылка
Das bringt mich dazu zu fragen, schließt du die aktuelle Polyfill ein? Ссылка
Es hat sich kürzlich mit dem Build 0.5 geändert und ist eine brechende Änderung.
Tags und Links javascript android webview web-component shadow-dom