4

アプリケーションにバンドルされるサービスを作成しています。ユーザーはSafari(または別のWebブラウザー)でリンクを右クリックしてサービスを呼び出し、リンクを処理できるようにする必要があります(ユーザーが右クリックしたときに選択されるテキストだけではありません)。

私ができない唯一のことは、リンクが指すURLを取得することです。serviceメソッドを使用すると、からNSPasteboard読み取ることができます。これをと呼びますpboard

選択したHTMLを取得しようとするのは明らかですが[pboard stringForType:NSPasteboardTypeHTML]、それはnilを返しました。そこで[pboard types]、を呼び出したところ、「public.utf8-plain-text」とNSStringPboardTypeが返されました。したがって、このペーストボードはプレーンテキストの文字列のみをサポートしているようです。

(typesはとnil[pboard addTypes:types owner:self]を含む配列です)を呼び出してみましたが、を呼び出しても違いはありませんでした。NSPasteboardTypeHTMLstringForType:

[pboard types]プレーンな文字列タイプのみを返す場合、どういうわけかペーストボードからHTMLを抽出できますか?ペーストボードに何を置くか、および/またはサービスが呼び出されたときに何を読み取るかを制御できますか?

4

0 に答える 0