Nein, die URL-Änderung von iframe wird nicht zu sumoOverrideUrlLoading führen, zumindest nicht in Android 2.2.
Ich versuche, mit der Methode sentainStartLoadWithRequest des UIWebView mehrere Dinge von einer Webseite in einem UIWebView zurück zu meiner iPhone App zu leiten.
Grundsätzlich ruft meine Webseite window.location.href="command: // foo = bar" auf und ich kann das in meiner App problemlos abfangen. Nun, wenn ich eine Schleife erstellen und mehrere window.location.href-Aufrufe gleichzeitig ausführen, dann wird shouldStartLoadWithRequest nur einmal aufgerufen und der Aufruf, den es erhält, ist das allerletzte fire von window.location.href am Ende der Schleife.
Das gleiche passiert mit dem Webview für Android, nur das letzte window.location.href wird verarbeitet.
Dies erzeugt einen iframe, setzt seine Quelle auf einen Befehl, der versucht, an die App zu übergeben, und sobald er an den Körper angehängt wird, sollteStartLoadWithRequest aufgerufen werden, dann entfernen wir den iframe aus dem Körper und setzen ihn auf null um die Erinnerung frei zu machen.
Ich habe das auch in einer Android-Webansicht mit sumoOverrideUrlLoading getestet und es hat auch richtig funktioniert!
Ich bin auch auf dieses Problem gestoßen und hier ist meine Lösung, die für mich funktioniert. Alle meine JavaScript-Funktionen verwenden diese Funktion __js2oc (msg), um Daten zu übergeben und Ereignisse zu Objective-C über shouldStartLoadWithRequest: P.S. Ersetzen Sie "command:" durch den von Ihnen verwendeten "appname:" - Trigger.
%Vor%Nein, die URL-Änderung von iframe wird nicht zu sumoOverrideUrlLoading führen, zumindest nicht in Android 2.2.
Ich versuche, mit der Methode sentainStartLoadWithRequest des UIWebView mehrere Dinge von einer Webseite in einem UIWebView zurück zu meiner iPhone App zu leiten.
Grundsätzlich ruft meine Webseite window.location.href="command: // foo = bar" auf und ich kann das in meiner App problemlos abfangen. Nun, wenn ich eine Schleife erstellen und mehrere window.location.href-Aufrufe gleichzeitig ausführen, dann wird shouldStartLoadWithRequest nur einmal aufgerufen und der Aufruf, den es erhält, ist das allerletzte fire von window.location.href am Ende der Schleife.
Das gleiche passiert mit dem Webview für Android, nur das letzte window.location.href wird verarbeitet.
Ich bin auch auf dieses Problem gestoßen und hier ist meine Lösung, die für mich funktioniert. Alle meine JavaScript-Funktionen verwenden diese Funktion __js2oc (msg), um Daten zu übergeben und Ereignisse zu Objective-C über shouldStartLoadWithRequest: P.S. Ersetzen Sie "command:" durch den von Ihnen verwendeten "appname:" - Trigger.
%Vor%Dies erzeugt einen iframe, setzt seine Quelle auf einen Befehl, der versucht, an die App zu übergeben, und sobald er an den Körper angehängt wird, sollteStartLoadWithRequest aufgerufen werden, dann entfernen wir den iframe aus dem Körper und setzen ihn auf null um die Erinnerung frei zu machen.
Ich habe das auch in einer Android-Webansicht mit sumoOverrideUrlLoading getestet und es hat auch richtig funktioniert!
Tags und Links iphone uiwebview window.location