1

我们之前使用 NPAPI 插件从我们的网站在 Windows 系统上执行一些命令。现在 NPAPI 消失了,我们正在尝试将东西移植到 PPAPI 或 NaCl,但似乎有很多问题。

  1. Google 似乎为 Visual Studio 2010 和 Visual Studio 2012 提供了 vs_addin,但在链接阶段尝试将代码编译为 Pepper 插件时总是出错。该错误与 _MSC_VER 不匹配有关,因为 PPAPI 库中的目标文件的版本似乎为 1800,其中 VS2010 和 VS2012 的值应该分别为 1600 或 1700。
  2. 为了解决这个问题,我们尝试下载一个旧的 Pepper 副本,但它无法从 SDK 中获得。不知何故,我们在互联网上找到了pepper_25 版本,但似乎postmessage 功能不适用于插件。
  3. 尝试使用 scriptableobjects 但看起来对它们的支持实际上在 chrome 13 中的某个时候被删除了?
  4. 如果我们尝试将其构建为 NaCl 插件,那么我们将无法访问 ShellExecuteA 等 Windows 函数,因为不包含相应的库。试图包含库只会导致更多错误。
  5. 这可能通过使用带有本地消息传递的扩展程序来实现,但是除非扩展程序在网页上放置内容脚本,否则网站不能直接与扩展程序交互。作为网站的用户,可以在他们自己的系统上安装网站,我们必须扫描并在所有网页上添加内容脚本,这似乎不是一个好的选择,因为它可能导致系统变慢。

TLDR:

现在的问题是,我们如何构建一个可以在 windows 上执行命令的 chrome 插件?

感谢和问候

4

1 回答 1

1

简短的回答是,(通过设计)无法分发可以访问本机平台 API 的插件。VS 插件有一种编译方式,但它只能在您的本地机器上运行。您可以开发 NaCl 或 PNaCl 插件,但仅限于 NaCl 的 API 和 Javascript。如果您需要原生 API,那么您可能需要查看 原生消息传递

于 2015-05-02T15:57:30.180 回答