埋め込みアプリケーション (IFRAME として私のサイトに挿入) で使用される Javascript SDK を開発しており、承認ダイアログや共有ボックス (Facebook など) などのダイアログのロードなどのリソースを使用するのに役立ちます。
私たちの SDK は、多かれ少なかれ次のように動作するように easyXDM を使用しています。
HTML ページ
------------------------------------------------ -------------------------------------------------- --------------------------
| http / https: www.mysite.com /embedded-app/
| (一部の JS クラス)
|
|- - - - - | -------------------------------------------------- -------------------------------------------------- --------------
|- - - - - | (IFRAME)
|- - - - - | https: // www.some-embedded-app-domain.com /page.html
|- - - - - | (「http/https:www.mysite.com/sdk.js から easyXDM を使用する SDK をロードしてインスタンス化します)
|- - - - - |
|- - - - | - - - - - |----- -------------------------------------------------- --------------------------------------------
|- - - - - | - - - - - | (easyXDM によって挿入された IFRAME)
|- - - - - | - - - - - | http / https: www.mysite.com /embedded_provider.html |
- - - - - | - - - - - | (これらの wndow.top JS クラスを使用して対話する window.top との通信)
|- - - - - | - - - - - |
|- - - - - | - - - - - |
|- - - - - | - - - - - |
|- - - - - | - - - - - |
私のサイトは http/https の両方を使用して読み込むことができますが、埋め込みアプリケーションは常にHTTPS を使用して提供する必要があります。easyXDM によって挿入された内部 iframe がサイトと通信できるようにするには、ホストとプロトコルが両方の URL で一致している必要があります。そうしないと、同一オリジン ポリシー違反が発生します。
問題: 外部アプリの URL から読み込まれる SDK のコードに、外部ウィンドウ (私のサイト) が http または https を使用していることをどのように伝え、同じプロトコルを使用して embedded_provider.html をレンダリングし、JS 通信を許可するかを教えてください。両者の間に?
私が考えることができる唯一の解決策は、組み込みアプリに現在 http / https からブラウズしていることを何らかの方法で通知することです。その後、(フラグ use_https などを使用して) 適切にインスタンス化できますが、強制しないことをお勧めします私たちが使用しているプロトコルを知るためのアプリ。
他の代替手段を知っていますか?
ありがとう!