1

YouTube Data API v3を使用しています。Google は、次を使用してライブラリをロードすることを推奨しています。

<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()がどうなっているのか、Google のclient.js.

4

1 に答える 1

0

主な問題は、Firefox には capability.policy.default.Window.postMessage.get のポリシーがありますが、capability.policy.default.ModalContentWindow.postMessage.get のポリシーがないことです。この問題を解決するには 2 つの方法があります。

  • Firefox の設定を追加 pref("capability.policy.default.ModalContentWindow.postMessage.get", "allAccess");
  • スクリプトをモーダル ウィンドウにロードする代わりに、iframe 内に直接配置します。iframe にはクラス Window があります。
ところで、FF28でこの問題に直面しました。FF31ではすべて正常に動作します。

于 2014-08-20T20:41:27.500 に答える