私は構文に問題があると確信していますが、iframeに変数を送信しようとしています(カラーボックス用)。当分の間、私は両端でドメインを受け入れている(ちょうどそれを働かせるために)。ここでは、送信ページのためのJSです:postMessage()の使用が受信されていません
$(document).ready(function() {
if(window.location.hash) {
var urlimage = window.location.hash.substring(1);
targetiframe = document.getElementById('wbgallery').contentWindow;
targetiframe.postMessage(urlimage, "*");
console.log(urlimage);
}
});
そしてここでは、受信ページがある:
$(document).ready(function() {
window.addEventListener('message',receiveMessage);
console.log(event);
function receiveMessage(event) {
if (origin !== "*")
return;
inbound = event.data;
console.log(inbound);
}
});
私はurlimageためのコンソールログを参照し、インバウンドのイベントしか見ることができます。私はMozilla's explanationを使ってそれをすべて試してみました。
'receiveMessage'が設定されていない変数' origin'を使用しています。それで、それが返されます。 – Barmar
また、 'event.'パラメータを持つ関数の外に' console.log(event) 'があります。それは何をすべきか? – Barmar
'origin'は' event.origin'でなければなりませんが、なぜあなたはそれにも気をつけていますか?それは '*'になることはありません。常にURLです。 – Barmar