Trigger-objective-C-Methode von javascript mit JavaScriptCore in iOS 7 in ViewControllers

Ich bin das laden einer url in webview, die hat unterhalb der HTML-und javascript-Funktion aufrufen. Jetzt Suche ich in, wenn Benutzer berührt submit-button im webview es sollte rufen Sie eine Methode im viewController. Webview laden sollte, url(webview delegieren) ist ein Ansatz, aber es ist eine neue Art und Weise kennen zu lernen, wenn der javascript-Funktion aufgerufen wird, webview informieren viewcontroller oder auslösen, die Methode im view controller.

Ich bin nicht auf der Suche nach dieser Lösung die wir brauchen, um

 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{

    NSLog(@"passed data from web view : %@",[[request URL] query]);

    if([[[request URL] query] isEqualToString:@"clickedOnLineNo"])
    {
//Do your action here

    }

Wir haben zu navigieren, um eine gefälschte URL von der javascript-Methode wie,

window.location = "someLink://yourApp/form_Submitted:param1:param2:param3";  

auf eine Schaltfläche klicken, oder Sie Ihre gewünschte Aktion.

Aber es ist eine neue Möglichkeit von JavaScriptCore, um das gleiche zu erreichen.

  • hier ist die Beispiel-HTML-Seite, die ich bin laden <!DOCTYPE html> <html> <head> <script type="text/javascript"> <!-- Dokument.write("<h1></h1>"); function submitButton festgelegt( ) { //Diese Funktion sollte aufgerufen werden, die in Objective C-Klasse, wenn der Benutzer berührt die Taste, die auf webview } //--> </script> </head> <body> <h1>Meine Handy-App</h1> <p>Bitte geben Sie hier die Details</p> <form name="feedback" method="post" action="mailto:[email protected]"> <!-- Formular-Elemente gehen hier --> </form> <form name="inputform"> <input type="button" onClick="submitButton festgelegt()" value="Absenden"> </form> </body> </html>
  • Sie können erstellen Sie eine phonegap-Anwendung, die app, die Sie aufrufen können, die am Ort der webview. die gleiche genau Sie wollen
  • Danke Rahul, aber gibt es keine Möglichkeit von JavaScriptCore frame work, welches Apple vor kurzem eingeführt in iOS 7.
  • möglich, Duplikat der Aufrufen eines Ziel-C-Funktion aus JavaScript gehostet auf einige web-Seite
  • Dank der Dunklen, aber dieser link hat den gleichen Ansatz ruft eine gefälschte url in der web-Ansicht
  • So, was ist falsch mit diesem Ansatz? Es sieht aus wie das ist der einzige Ansatz. Siehe auch Wie nennen Objective-C von Javascript? und ähnliche Fragen (es sei denn, ich vermisse etwas, die Suche wird viele ähnliche Fragen, die dir alle mit den gleichen Antworten).

InformationsquelleAutor user3283486 | 2014-02-07
Schreibe einen Kommentar