私はページがaddin.html
です。それは次に、2つのページがそれぞれのリスナー内部を持っている、と非同期通信クロスページ
// listen:
function receiveMessage(event) {
document.getElementById("display").innerHTML = JSON.stringify(event.data);
}
window.addEventListener("message", receiveMessage, false);
// send:
function sendMessage() {
popup.postMessage("data", popup.location.href);
}
によって相互にデータを送信することができます popup = window.open("https://localhost:3000/#/posts/editor/", "popup")
で(同じドメイン内にある必要はない)別のページeditor
をポップアップすることができます
editor
は、ui-router
によって実現されます。最初は、それはページをロードする前にinit
を解決しますaddin.html
ポップアップeditor
、ページを読み込む前に、それはeditor
にいくつかのデータを送信し、init
は、このデータを解決する必要があるとき、私は今、実装したい何
.state('editor', {
controller: 'EditorCtrl',
resolve: { init: [ ... ] },
...
};
app.controller('EditorCtrl', ['$scope', 'init', function ($scope, init) {
...
}]
は、です。 からデータを受信する前に、editor
がハングする可能性があります。
これを達成するために受信者と送信者(および他の人)を修正する方法を知っている人はいますか?
この初期データをURLパラメータで渡すことはできませんでしたか? –
多くのデータがあるかもしれませんが、どうすれば 'window.open'に埋め込むことができますか? – SoftTimur
多くの選択肢はありません。データが大きすぎる場合は、サーバー側のセッションを使用してデータを格納および取得します。またはPOSTでデータを送信します。 – estus