【问题标题】:XPCOM support in Android webkit browser?Android webkit 浏览器中的 XPCOM 支持?
【发布时间】:2011-01-11 17:25:41
【问题描述】:

Android WebKit 是否像 Firefox 一样支持 XPCOM 框架或 NPRuntime API? Android WebKit插件如何实现JavaScript?

更新: 我正在为 Android WebKit 浏览器编写一个媒体播放器插件,我的插件需要通过 JavaScript 从网页获取命令(播放/暂停/停止/调整大小等一些操作是作为来自浏览器的 JavaScript 命令发出的) .我的插件是用原生 C 代码编写的。是否有可用于 JavaScript 通信的示例或示例插件?

【问题讨论】:

    标签: javascript android browser webkit xpcom


    【解决方案1】:

    android浏览器一直支持NPAPI,2.1的机制发生了变化,现在寻找带有intent filter“android.webkit.PLUGIN”的APK,所以插件需要单独打包。

    之前在 WebView 上设置插件路径并使用 NDK 编译插件就可以了。

    希望这会有所帮助,当您在谷歌上搜索 NPAPI 和 WebView 或 NPAPI 和 android 时会发现很多信息。

    【讨论】:

    • 如果没有注意到,Android (eclair) 源码中已经有一个示例插件在 development/samples/BrowserPlugin 中
    【解决方案2】:

    Android 的 WebKit 不支持 XPCOM,也不支持 NPAPI 和 npruntime。不确定您打算如何编写浏览器插件,但使用 Android SDK 是不可能的。

    【讨论】:

    • 是不是说,插件和浏览器之间的JavaScript通讯是不可能的?或者有没有其他方法来做这个 Js 通信?。我的插件是原生 C 代码。
    • Android SDK 通常不支持插件。你是如何编写浏览器插件的?
    • 基于可用的Sample插件开发(mydroid/development)/samples/BrowserPlugin)
    • 好吧,我不觉得自己很傻 :-) 不管怎样,从 API 文档:d.android.com/reference/android/webkit/PluginStub.html 来看,您似乎获得了一个 NPAPI 插件实例。您可以考虑使用 npruntime 向插件公开 JS 接口,但我完全不确定这是否可行
    【解决方案3】:

    WebKit 不支持 XPCOM,因为 WebKit 完全独立于 Mozilla 堆栈。

    当您说要“实现 Javascript”时,您是什么意思?
    内置的Android浏览器已经支持Javascript的执行。

    【讨论】:

      猜你喜欢
      • 2012-06-03
      • 1970-01-01
      • 2020-01-09
      • 2011-06-12
      • 1970-01-01
      • 2012-05-09
      • 2020-06-08
      • 1970-01-01
      • 2013-04-01
      相关资源
      最近更新 更多