在chrome扩展内使用chromecast

时间:2014-06-15 03:16:23

标签: javascript google-chrome google-chrome-extension google-cast

我正在尝试开发一个扩展程序,将Chromecast功能添加到不支持它的网站。我们的想法是在页面中注入需要的javascript代码来修改默认的html 5播放器以及支持chromecast的播放器。 我正在尝试使用来自github的CastVideos-chrome和CastHelloVideo-chrome。

我首先下载cast_sender.js并在我的扩展名的manifest.json中使用content_scripts指令注入它。 我可以在javascript控制台中看到消息“Found cast extension:boadgeojelhgndaghljhdicfkmllpafd”。然后我再次使用content_scripts指令添加第二个第二个javascript文件,该指令通过github的示例代码得到了很大的启发。 代码是阻止的:

if (!chrome.cast || !chrome.cast.isAvailable) {
  setTimeout(this.initializeCastPlayer.bind(this), 1000);
  return;
}

我添加调试以查看chrome.cast和chrome.cast.isAvailable的值。 chrome.cast包含cast_send.js和

生成的大量信息
<script>src=​"chrome-extension:​/​/​boadgeojelhgndaghljhdicfkmllpafd/​cast_sender.js">​</script>

是在网站代码中注入的,但从未定义过chrome.cast.isAvailable。

在扩展程序中使用chromecast是否存在一些限制,是否可以实现我的目标?

2 个答案:

答案 0 :(得分:1)

看起来你可能正在处理2个不同的JS世界,页面世界(主要世界)和扩展世界(内容脚本)。

请参阅https://developer.chrome.com/extensions/content_scripts#execution-environment

答案 1 :(得分:0)

我注意到的第一件事是语法。更改以下内容:

<script>src=​"chrome-extension:​/​/​boadgeojelhgndaghljhdicfkmllpafd/​cast_sender.js">​</script>

要:

<script src="chrome-extension:​/​/​boadgeojelhgndaghljhdicfkmllpafd/​cast_sender.js" type="text/javascript"></script>