ユーザーが自分のサイトに配置できる埋め込みコードがいくつかあります。ページに 2 つの子 iframe を作成します。そんな子どもたちにコミュニケーションをとってもらいたい。
私はjavascriptのwindow.postMessage
https://developer.mozilla.org/en-US/docs/DOM/window.postMessageを使用しています
2 つの iframe の子は直接通信できないため、親をメッセージのリレーとして使用しています。ただし、埋め込み可能なコードであるため、親は別のドメインにある可能性があります。
3つすべて(親と2つの子)が同じドメインにある場合、それは非常に簡単で、セキュリティチェックでこれe.origin
が自分のサイトであることを確認しています
# coffeescript
# host = "http://www.mysite.com"
host = "http://localhost"
receive_message = (e) ->
console.log("received message from " + e.origin + ": " + e.data)
return if e.origin != host
if e.data == "show"
...
else if e.data == "hide"
...
window.addEventListener("message", receive_message, false)
親が任意のドメインにいる可能性がある場合にオリジンを確認するエレガントな方法は何ですか?
オリジンが localhost であるスクリプトのデバッグを許可する良い方法は何ですか?
非破壊的/変更メッセージが渡される場合、データパラメーターをチェックするだけで十分ですか?
ありがとう!