【问题标题】:Why is the google chromecast extension not injecting API on a whitelisted domain为什么 google chromecast 扩展程序没有在白名单域上注入 API
【发布时间】:2013-08-14 13:08:49
【问题描述】:

我将几个域列入白名单。假设它们是 a.mydomain.com 和 b.mydomain.com

我去了 chromecast 扩展程序中的开发人员选项,并将 mydomain.com 列入白名单,并将 data-cast-api-enabled=”true” 添加到 html 标记

此时,我期待扩展注入 api_script.js(就像我在 youtube 和 netflix 上看到的那样)

我在这里错过了什么?

【问题讨论】:

  • 在扩展程序中,您是否将 mydomain.com 或 *.mydomain.com 列入白名单?如果是前者,那么白名单可能不会扩展到 a.mydomain.com 和 b.mydomain.com ...尝试在扩展中将通配符(或直接子域)列入白名单。 (另外,请确保您在列入白名单时没有将任何协议附加到域名中)。

标签: google-chrome google-cast chromecast


【解决方案1】:

开发者文档中列出了两个白名单程序。

第一个是device whitelisting(在“将您的接收设备列入白名单”下)。在此过程中,您向 Google Cast 团队提供 1 或 2 个目标 URL,他们会为您生成应用程序 ID。然后,当从设备(Android、iOS 或安装了扩展的 Chrome 浏览器)启动与 Cast API 的会话时,您提供字符串 "<applicationId>_<urlNumber>",然后您选择的接收器将打开位于与该字符串关联的 URL 的接收器页面.

第二个白名单(在上面链接的“将 Chrome 应用程序列入白名单”下)专门用于开发带有 Chrome 扩展程序的发件人应用程序,并在浏览器中进行配置。 Chrome 扩展程序目前只会将 Cast API 注入特定的发件人页面,但允许开发人员将其发件人页面所在的域列入白名单。

  1. 确保您运行的是 Chrome 版本 28 或更高版本。
    • 如果您有一段时间没有重新启动 Chrome,您可能运行的是旧版本;重新启动会自动更新 Chrome。
  2. 在 Chrome 地址字段中,输入 chrome://extensions,然后选中开发者模式复选框以启用开发者模式。
  3. 为 Google Cast 安装 Chrome 扩展程序。
  4. 在浏览器右上角(地址字段旁边)的 Cast 扩展程序图标上,右键单击并选择选项。
    • Google Cast 扩展选项页面在新标签页中打开。
  5. 在页面左上角的蓝色 Cast 图标上,单击四 (4) 次。
    • 出现开发者设置。
  6. 在 Cast SDK 附加域字段中,输入您的应用程序的域,例如“www.mydomain.com”,然后单击添加。
  7. 将应用程序的 HTML 标记编码如下:

    <html data-cast-api-enabled=”true”>
    
  8. 重新加载应用程序的页面。

【讨论】:

    【解决方案2】:

    我观察到问题是该页面上的 Javascript 错误,它阻止了扩展程序注入 cast api。 (缺少 jquery)

    我已经能够在所有其他页面上获得注入的 JS

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-19
      • 2022-01-05
      • 1970-01-01
      • 2019-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多