7

私は、ユーザーが WebView で軽い WYSIWYG HTML 編集を行う OS X プログラムに取り組んでいます。Cocoa と WebKit を使用したプログラミングは初めてなので、WebView から選択したテキストを取得する方法がまったくわかりません。ユーザーが選択したものを取得し、テキストの周りに HTML コード (div や span など) を追加し、選択したものを置き換えることを意図しています。変更されたコードを含むテキスト。これはどのように達成できますか?

私は現在このプロジェクトを MacRuby でプログラミングしていますが、Objective-C プログラマーからの支援も歓迎します。ありがとうございました!

4

3 に答える 3

7

Apple は、このスニペットを使用して、WebKit WebView の HTML コンテンツを取得することをお勧めします。

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

HTML をプレーン テキストとして解釈する場合は、次を使用できます。

[(DOMHTMLElement *)[[[webView mainFrame] DOMDocument] documentElement] outerText];
于 2012-09-22T01:35:18.057 に答える
5

UIWebView では、任意の JavaScript を実行できます。

[webview stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('html')[0].innerHTML"]
于 2010-01-12T03:16:24.440 に答える
3

を要求すると、オブジェクトが返されますWebView。このオブジェクトを使用して、何が選択されているかを調べることができます。は、すべての WebKit DOM オブジェクトと同様に、標準の W3C DOMRange オブジェクトの Objective-C 表現です。サポートするメソッド/プロパティについては、を参照してください。-selectedDOMRangeDOMRangeDOMRangeDOMRange.h

-replaceSelectionWithMarkupString:その後、-replaceSelectionWithText:または-replaceSelectionWithNode:のメソッドを使用して、現在の選択を置き換えることができますWebView

于 2010-01-12T04:18:27.397 に答える