我正在使用YouTube Data API v3。 Google建议使用以下方法加载lib:
<script src="https://apis.google.com/js/client.js?onload=googleApiClientReady">
它工作正常但是当我将这样的脚本加载到Firefox中的模式窗口时(它必须是这样的。我无法控制Sitecore调用我的窗口小部件的方式)它失败了:
错误:权限被拒绝 https://accounts.google.com调用方法 ModalContentWindow.postMessage
它来自内部回调,即使我省略client.js
部分,Google ?onload
在加载时也会调用。
精确加载到独立选项卡中。 IE和Chrome无论如何都可以。
有没有一种方法可以让它在FF模态窗口中运行? (如果重要的话,我正在运行27.0.1)
更新:我通过直接调用YouTube Data API HTTP端点来解决这个问题。我仍然想知道FF的模态窗口中的postMessage() thingy是什么,以及谷歌client.js
的作者是否知道。
答案 0 :(得分:0)
主要问题是Firefox有针对capability.policy.default.Window.postMessage.get的策略,但它没有策略capability.policy.default.ModalContentWindow.postMessage.get。 有两种方法可以解决这个问题。