Frage

Ich arbeite an einem O X-Programm, wo der Benutzer etwas Licht tut WYSIWYG-HTML-Bearbeitung in einem WebView. Die neu in die Programmierung mit Kakao und WebKit, habe ich absolut keine Ahnung, wie aus einem WebView ausgewählten Text zu bekommen - die Absicht nehmen zu sein, was der Benutzer ausgewählt, fügen Sie HTML-Code (wie divs oder Span) um den Text, und ersetzen Sie die ausgewählte Text mit dem modifizierten Code. Wie kann dies erreicht werden?

Ich programmiere gerade dieses Projekt mit MacRuby, aber ich würde auch Hilfe von Objective-C-Programmierern zu schätzen wissen. Vielen Dank!

War es hilfreich?

Lösung

Sie können für die WebView des -selectedDOMRange fragen und du wirst ein DOMRange Objekt zurück. Sie können dieses Objekt verwenden, um herauszufinden, was ausgewählt wird. DOMRange, wie alle WebKit DOM-Objekte, ist ein Objective-C Darstellung eines Standard W3C DOMRange Objekt finden DOMRange.h für welche Methoden / Eigenschaften unterstützt wird.

Sie können dann ersetzen Sie die aktuelle Auswahl der -replaceSelectionWithMarkupString:, -replaceSelectionWithText: oder -replaceSelectionWithNode: Methoden WebView verwenden.

Andere Tipps

Apple empfiehlt die Nutzung dieser Schnipsel hier abrufen der HTML-Inhalt von einem WebKit WebView:

[(DOMHTMLElement *)[[[webView mainFrame] DOMDocument] documentElement] outerHTML];

Wenn Sie den HTML-Code interpretiert als Klartext möchten, können Sie verwenden:

[(DOMHTMLElement *)[[[webView mainFrame] DOMDocument] documentElement] outerText];

UIWebView können Sie laufen beliebigen JavaScript:

[webview stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('html')[0].innerHTML"]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top