【问题标题】:NaCl Module HTML InterfaceNaCl 模块 HTML 界面
【发布时间】:2016-02-17 08:49:39
【问题描述】:

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

我能够按照文档here 通过 MIME 类型启动应用程序,并且熟悉处理点击链接源的pp::Instance::HandleDocumentLoad 方法,但不确定如何显示我从已解析的文档。

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

TL;DR: 有没有办法为nacl_modules 清单条目创建的 NaCl 模块实例指定 HTML 接口(或从其呈现 HTML 的简单方法)?

【问题讨论】:

    标签: google-chrome mime google-nativeclient


    【解决方案1】:

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

    你可以看看我是怎么做到的herehere

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

    您可以更早地做到这一点,将代码注入每个页面,但我发现这更好一些,因为它只注入一小部分代码。

    【讨论】:

    • 似乎是一个可行的扩展解决方案,但我很确定这不适用于应用程序。
    • 啊,我错过了那部分,抱歉。您可以在清单中指定 file_handlers:请参阅 developer.chrome.com/apps/manifest/file_handlers。不过,这似乎只支持在 ChromeOS 中浏览文件。
    • 文件处理程序实际上可能是要走的路,如果不是file://链接,我应该能够将文档加载到网络文件系统中-我认为“仅限ChromeOS”部分是指处理文件,但我可能是错的。将对其进行测试。
    猜你喜欢
    • 2015-10-03
    • 2021-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    • 2023-03-25
    • 1970-01-01
    相关资源
    最近更新 更多