Safari插件开发

5

我想使用Xcode开发一个Safari插件,并且我想访问书签。我应该使用哪个API?

既然我在询问,那么是否有关于Safari插件开发的教程呢?

4个回答

6

Safari 5可以像Google Chrome一样创建扩展程序。请参考Safari扩展开发指南:关于Safari扩展

在Mac OS X Lion上,WebKit插件API不兼容Mac OS X Lion采用的新进程架构,并且已被弃用。建议当前使用WebKit插件API的插件开发者采用Netscape插件API以便与Mac OS X v10.7上的Safari兼容。


6

Safari插件很受支持,无论是Netscape样式的NSAPI还是“本地”的Cocoa插件。官方Safari插件有数十甚至数百个。

然而,并不是你想要做的一切都可以通过插件实现。我不确定是否可以访问书签。

Safari Dev Center和参考库上有很多关于Safari插件的文档,包括WebKit插件编程主题。


1
我认为Netscape插件API是NPAPI而不是NSAPI。 - A9S6

2

如果您想为Safari编写插件,您可能也对阅读有关开发 WebKit 插件的内容感兴趣。


1

目前没有文档记录或者官方支持的方法可以为Safari创建插件。

尽管如此,许多人都已经创建了插件,你可以通过浏览Pimp My Safari来看到。

其中很多插件使用SIMBL将自己加载到Safari中,之后你可以深度操作Safari的内部实现以达成你想要的功能。参考Armchair Guide To Cocoa Reverse Engineering

但无论如何,这并不是一件轻而易举的事情!

祝好运 =]


现在我想使用Simbl制作Safari插件,已经阅读了《Armchair Guide To Cocoa Reverse Engineering》。但是当我实现方法- (void)load;时,如何使用插件获取Safari DOM对象,就像PIC或Flash URL一样?非常感谢您! - jin
2
这段话的第一行是错误的。http://developer.apple.com/mac/library/documentation/InternetWeb/Conceptual/WebKit_PluginProgTopic/WebKitPluginTopics.html - dlamblin
这并不简单;有两种不同类型的浏览器插件...
  1. 可以嵌入网页的插件(例如Flash)-正如你所说,这是受支持和文档化的。
  2. Firefox扩展或IE第三方工具栏的等效物。这就是原始问题似乎涉及到的内容,因为提到了访问书签。这种插件没有官方支持或文档化,并且需要一些逆向工程。其中一个例子是Inquisitor-http://www.inquisitorx.com
- Nick Dowell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接