我敢肯定這只是我的語法問題,但我試圖發送一個變量到iframe(用於colorbox)。目前我接受任何兩端的域名(只是爲了讓它工作)。下面是發送頁面的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