In WKWebView können wir ObjectiveC / Swift-Code mit den Webkit-Nachrichtenhandlern webkit.messageHandlers.<handler>.pushMessage(message).
Und das funktioniert auch für IFrames.
Gibt es eine Möglichkeit, darauf zu reagieren, indem Sie das IFrame aufrufen?
Momentan unterstützt die evaluateJavaScript:
API die Kommunikation nur zum Hauptrahmen.
Hier ist eine wirklich gute Bibliothek für eine Javascript-Brücke (sie unterstützt UIWebview
und WKWebview
): Ссылка
Die Bridge kann für nativ für JS oder JS für native Kommunikation verwendet werden. Sie haben einen ziemlich guten Job gemacht, den du dir ansehen solltest.
Auf der Webseite müssen Sie JavaScript-Code hinzufügen, so dass die Bridge auf der HTML-Seite vorhanden ist. Ihr Dokument zeigt eine setupWebViewJavascriptBridge
-Methode zum Hinzufügen an (Lesen Sie Verwendung Teil ihrer Readme).
Am Ende liegt es an dir, ob du diesen Code direkt auf der Seite hinzufügst oder über iOS mit evaluateJavaScript
synchrone Kommunikation zwischen zwei verschiedenen Prozessen ist nicht möglich
Tags und Links javascript ios webkit uikit wkwebview