NaCl模块HTML界面

时间:2016-02-17 08:49:40

标签: google-chrome mime google-nativeclient

我正在开发一个Chrome打包的应用程序,它将某种文档显示为HTML。我在某种程度上使用该应用程序,但想添加一项功能,允许用户通过单击指向适用文件的链接来打开文件。

我可以按照文档here按MIME类型启动应用,并且熟悉处理点击链接源的pp::Instance::HandleDocumentLoad方法,但我不确定如何显示HTML I' m从解析的文档生成。

当用户手动启动应用程序并使用输入元素和HTML文件系统选择文件时,这很容易,因为在应用程序清单中指定了HTML GUI,但据我所知,基于启动在MIME类型上只嵌入NMF。

TL; DR:有没有办法为nacl_modules清单条目创建的NaCl模块实例指定HTML接口(或从中提取HTML的简单方法)?< / p>

1 个答案:

答案 0 :(得分:0)

这是可能的,但它有点像黑客。我从这里复制了这个技巧: https://groups.google.com/d/msg/native-client-discuss/UJu7VXvV_bw/pLc19D50gbwJ

您可以看到我是如何做到的herehere

基本上,你在chrome.tabs.onCreatedchrome.tabs.onUpdated上听,然后注入一小部分JavaScript,用正确的mimetype检查embed元素。如果找到该元素,它会向您的扩展程序发送一条消息(通过chrome.runtime.sendMessage)。当您的扩展程序收到该消息时,它会使用chrome.tabs.executeScript将其余JavaScript注入页面。此时,您可以显示您想要的任何内容。

你可以通过将代码注入每个页面来更早地完成它,但我发现它更好一点,因为它只注入了一小段代码。