Ich arbeite an einem OS X-Programm, bei dem der Benutzer eine leichte WYSIWYG-HTML-Bearbeitung in einem WebView durchführt. Da ich neu in der Programmierung mit Cocoa und WebKit bin, habe ich absolut keine Ahnung, wie man ausgewählten Text von einem WebView erhält - die Intention ist, den Benutzer auszuwählen, HTML-Code (wie Divs oder Span) um den Text herum hinzuzufügen und das ausgewählte zu ersetzen Text mit dem modifizierten Code. Wie kann dies erreicht werden?
Ich programmiere gerade dieses Projekt mit MacRuby, aber ich würde auch die Hilfe von Objective-C-Programmierern sehr zu schätzen wissen. Danke!
Sie können nach dem WebView
s -selectedDOMRange
fragen und Sie erhalten ein DOMRange
Objekt zurück. Sie können dieses Objekt verwenden, um herauszufinden, was ausgewählt ist. DOMRange
ist, wie alle WebKit DOM-Objekte, eine Objective-C-Repräsentation eines W3C-Standard-DOMRange-Objekts, siehe DOMRange.h
für welche Methoden / Eigenschaften es unterstützt.
Sie können die aktuelle Auswahl dann mit den Methoden -replaceSelectionWithMarkupString:
, -replaceSelectionWithText:
oder -replaceSelectionWithNode:
von WebView
ersetzen.
Mit UIWebView können Sie beliebiges JavaScript ausführen:
%Vor%Apple empfiehlt, dieses Snippet hier zu verwenden , um es abzurufen der HTML-Inhalt eines WebKit WebView:
%Vor%Wenn Sie möchten, dass HTML als einfacher Text interpretiert wird, können Sie Folgendes verwenden:
%Vor%