Ich versuche, auf einer Webseite, die ich in einer UIWebView in meiner iOS-App geöffnet habe, auf ein Ereignis (insbesondere einen Klick auf eine Schaltfläche) zu warten. Ich weiß, dass es in anderen Sprachen Möglichkeiten gibt, Ereignis-Listener an bestimmte Web-Aufrufe anzuhängen, aber ich habe noch keinen Weg gefunden, dies in Objective-C zu tun. Ich habe auch niemanden online gefunden, der sagt, dass nicht gemacht werden kann, also entschied ich, dass ich fragen sollte. Ich habe in der Dokumentation gesehen, dass Sie Objective-C-Aufrufe von Javascript ausführen können, aber ich habe keine Kontrolle über die Webseite, die ich überwachen möchte. Also brauche ich eine Lösung, die es mir ermöglicht, in Objective-C auf dieses Ereignis vollständig zu hören.
BEARBEITEN: Wenn Details helfen würden, versuche ich dem Nutzer zu erlauben, einen Facebook-Beitrag zu erstellen. Ich lade die Facebook-Sharer-Seite in eine UIWebview (http://www.facebook.com/sharer/sharer.php?u=) und möchte überwachen, wenn der Benutzer auf "Share Link" klickt, damit ich die Web-Ansicht schließen kann .
Vielen Dank für Ihre Zeit!
Verwenden Sie ein benutzerdefiniertes Schema. Wenn der Benutzer auf die Schaltfläche klickt, pingen Sie eine URL mit dem benutzerdefinierten Schema (myScheme: // buttonTapped) und entweder:
Fangen Sie dies in der Webview-Delegate-Methode shouldStartLoadWithRequest...
(dh prüfen Sie, ob die URL Ihr benutzerdefiniertes Schema enthält) und leiten Sie sie an den entsprechenden Ziel-C-Selektor weiter. Oder
Registrieren Sie ein benutzerdefiniertes URL-Protokoll und richten Sie es für die Verarbeitung Ihres benutzerdefinierten URL-Schemas ein. Etwas wie das Folgende:
Tags und Links objective-c ios uiwebview event-handling