【问题标题】:Loading A Native Client Chrome Extension For A Particular MIME Type为特定的 MIME 类型加载本机客户端 Chrome 扩展
【发布时间】:2023-03-28 02:36:02
【问题描述】:

我为播放特殊类型音频文件的 Google Chrome 网络浏览器创建了本机客户端应用程序。伟大的;这部分在这一点上工作得很好。

我已准备好进入下一阶段 - 与全世界分享此应用。我需要这部分的帮助。

根据我的理解,分发此应用程序的最佳方法是将其打包为 Chrome 扩展程序,将其上传到 Chrome 网上应用店 (CWS),然后使用包含音频文件的我的网站的内联安装。此外,this page describes how to associate MIME types with NaCl extensions。我为此文件类型设计了一个自定义 MIME 类型。

这是我的问题 (我认为):如何从扩展程序内部加载 Native Client 应用程序?

当我在本地开发这个程序时,有一个 标签,它的“src”属性引用了一个指向 .nexe 文件的 .nmf 文件。 embed 标记还具有传递给 NaCl 应用程序的其他参数。在扩展场景中,.nmf 和 .nexe 文件(以及图标和 manifest.json 文件)存在于扩展中。

在扩展场景中,网页如何指定需要加载扩展内的NaCl应用?通过嵌入标签或其他机制?我是否应该直接加载文件 URL 并相信 MIME 类型会调用 NaCl 扩展?

如果这个问题令人困惑,我深表歉意——这是一种不知道要问正确问题的情况。

【问题讨论】:

    标签: google-chrome google-chrome-extension google-nativeclient


    【解决方案1】:

    您需要加载 MIME 类型的页面或内容,浏览器将调用 NaCl 扩展并调用 HandleDocumentLoad 方法。

    【讨论】:

    • 'HandleDocumentLoad' 给了我一个重要的线索。这意味着我需要在窗口中自行加载数据,同时仍然有一个包含其他元素的网页。这是我不知道该怎么做。但是,我刚刚发现 允许我这样做。但是我无法在我的 NaCl 插件中触发 HandleDocumentLoad() 函数。此外,NaCl SDK 为 Instance_HandleDocumentLoad() 生成的样板代码明确指出“在 NaCl 模块上不调用此函数......本质上是一个占位符”。再说一遍,Chrome 代码对此有一个测试用例。
    • 对上述评论的修正:我的资源未正确暂存于扩展文件夹中。我认为这种方法可能有效。
    • 成功!您的回答为我提供了构建有效解决方案所需的线索。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2013-05-18
    • 1970-01-01
    • 2013-09-11
    • 2018-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-11
    相关资源
    最近更新 更多