我正在编写一个将与我的应用程序捆绑在一起的服务。用户应该能够右键单击Safari(或其他Web浏览器)中的链接并调用我的服务并让它处理链接(而不仅仅是用户右键单击时选择的文本)。
我唯一不能做的就是获取链接所指向的URL。 service method为您提供NSPasteboard
来读取,我们称之为pboard
。
尝试获取所选HTML的显而易见的事情是[pboard stringForType:NSPasteboardTypeHTML]
,但是返回了nil。所以我调用了[pboard types]
,它返回了“public.utf8-plain-text”和NSStringPboardType。所以看起来这个粘贴板只支持纯文本字符串。
我尝试调用[pboard addTypes:types owner:self]
(其中types是包含NSPasteboardTypeHTML
和nil的数组),但是当我调用stringForType:
时它没有任何区别。
当[pboard types]
仅返回纯字符串类型时,我能以某种方式从粘贴板中提取HTML吗?当我的服务被调用时,我能够控制放到粘贴板上的内容和/或从中读取的内容吗?