节点WebKit和YouTube:未定义chrome

时间:2014-09-02 11:27:09

标签: javascript youtube gruntjs node-webkit

我正在使用AndroidiOSMac OSWindowsPhoneGapNode-WebKit开发应用。此应用已嵌入youtube个视频。

这些youtube视频使用Mobile在我的Android应用(iPhone / PhoneGap)中正常运行,但如果我在Mac上进行测试1}}(使用grunt node-webkit builder构建应用程序)我收到以下错误:

  

未捕获的ReferenceError:未定义chrome   WWW的嵌入-player.js:184

我尝试检查该行,并且有一些代码:

chrome.cast.requestSession(v(this.Lc,this)

我使用iframe嵌入视频:

<iframe src="http://www.youtube.com/embed/rjKRQYmi1Lk" frameborder="0" allowfullscreen="" ></iframe>

有人知道我该如何解决它?

谢谢!

1 个答案:

答案 0 :(得分:1)

这看起来与Chromecast Chrome插件有关。我假设你有

"webkit": {
    "plugin": true
}

在您的Flash清单中,因此Chromecast插件也会加载。然后,当它尝试与YouTube播放器进行互动时,它就失败了。

尝试删除Chromecast插件,看看是否可以解决问题。如果是这样,那么您的选择是:

  1. 删除Chromecast插件,没有办法只加载我所知道的node-webkit中的特定插件。这可能不是最佳解决方案,尤其是在您分发应用时。

  2. 使用其他方法加载YouTube视频。我使用的是JavaScript Player API,但我没有任何问题。你可以在这里找到我的例子:

    https://gist.github.com/octalmage/03a054bb27d597a9f095

    API参考:

    https://developers.google.com/youtube/js_api_reference#Embedding

  3. 将HTML加载到本地网络服务器上。此错误似乎是由使用file://协议引起的,因此使用本地Web服务器加载HTML可能会解决此问题。我个人使用方法2来解决限制播放错误(https://cloudup.com/cUXiDgrYBOm),但我不确定它是否会解决您的问题。

  4. 编辑:我刚刚意识到我在webkit插件设置为false时出现此错误,请尝试将其设置为true!启用webkit插件时,该视频无需任何更改即可为我工作。在播放视频之前,错误会闪烁。

    https://cloudup.com/c6VyHbIyyez