Javascript funktioniert nicht in der UIWebview-Schaltfläche onsubmit Wo funktioniert Safari gut?

8

Ich benutze UIWebview in meiner App mit Ladeanforderung von http url .Webseite geladenen URL ohne Fehler, aber die Schaltfläche mit der Aktion als Java-Skript hat. Problem ist onclick von übergeben nichts passiert und kein Fehler in der Konsole und uiwebview Delegaten auch nicht gefeuert, einschließlich Fehler delegate.that Button nur wie Bild anzeigen. wo als send button onclick gut in der mobilen Safari App geantwortet hat. unten habe ich Teilansicht Source Code meiner http URL

angefügt %Vor%     
Asta ni enohpi 31.03.2014, 12:35
quelle

1 Antwort

3

Wenn ein Skript mit der ajax-Anfrage etwas Arbeit leistet, kann es nicht direkt mit den Methoden des webView-Delegates verfolgt werden. Damit es funktioniert, müssen Sie dieses Skript in Ihr WebView einfügen. Erstellen Sie eine ajaxHandler.js-Datei in Ihrem App-Bundle, und fügen Sie diesen Code darin ein

%Vor%

Was dieses Skript tun wird, ist, dass es die Ajax-Anfrage in ein einfach erstelltes URL-Schema umwandelt, das von unserem webView verfolgt werden kann. Laden Sie nun dieses Skript in einen globalen String-Variablennamen JSHandler from bundle innerhalb Ihrer viewDidLoad -Methode

%Vor%

jetzt in dir webViewDidStartLoad: oder webView:shouldStartLoadWithRequest:navigationType delegate Methode spritze dieses Skript mit

%Vor%

Nach dem Einfügen des Skripts sind wir bereit, die Ajax-Anfragen zu verfolgen. Setzen Sie diese Zeilen in Ihre webView:shouldStartLoadWithRequest:navigationType -Delegatenmethode

%Vor%

Hier überprüfen wir, ob die Anfrage, die nach dem Laden fragt, der Typ unseres erstellten URL-Schemas myAjaxHandler ist, unterbrich sie dann beim Laden und handle wie gewünscht. Fragen Sie mich, wenn Sie weitere Hilfe benötigen.

Glückliche Codierung:)

    
iHulk 05.08.2015 08:50
quelle