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%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
jetzt in dir webViewDidStartLoad:
oder webView:shouldStartLoadWithRequest:navigationType
delegate Methode spritze dieses Skript mit
Nach dem Einfügen des Skripts sind wir bereit, die Ajax-Anfragen zu verfolgen. Setzen Sie diese Zeilen in Ihre webView:shouldStartLoadWithRequest:navigationType
-Delegatenmethode
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:)
Tags und Links javascript objective-c ios uiwebview