【问题标题】:Global object for Javascript to interact with Safari plug-inJavascript 与 Safari 插件交互的全局对象
【发布时间】:2009-07-06 17:14:20
【问题描述】:

问题是我编写了一个 Safari 插件 (Growler),它允许 Web 应用程序通过调用 Javascript 函数来发送 Growl 通知。但是,就目前的编写方式而言,人们需要使用<embed> 来初始化插件,以便Javascript 可以开始使用它(我从Apple 的示例中提取了一些内容)。

我想知道是否有一种方法可以定义像 window.<pluginName> 这样的东西,这样他们就不必每次都嵌入它?这将允许许多网站在不更改任何代码的情况下开始使用它。

我查看了很多示例和文档,发现了两个东西——“WebView”和“WebScriptObject”。我对此很陌生,所以我不确定该怎么做。

【问题讨论】:

    标签: objective-c cocoa macos safari webkit


    【解决方案1】:

    没有办法编写不处理内容类型的 WebKit 插件。这就是为什么这么多 Safari“插件”或“扩展”(包括 GrowlSafari)被实现为输入管理器的原因。

    您的方式是唯一可靠、安全、受支持且不会注定失败的方式。

    【讨论】:

    • 真的吗?这很糟糕,因为这也意味着没有真正的方法来检查我的插件是否存在(这使得优雅降级变得更加困难)。在这方面有什么强大的脑电波吗?
    • 没关系,想通了。与 Firefox 不同,WebKit 很好地实现了navigator.plugins
    猜你喜欢
    • 2014-12-04
    • 2018-01-13
    • 2010-09-25
    • 1970-01-01
    • 2016-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-14
    相关资源
    最近更新 更多