구문에 문제가있는 것 같지만 iframe에 변수를 보내려고합니다 (사용할 ColorBox 용). 당분간 나는 양쪽 도메인에서 도메인을 수락하고 있습니다.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);
}
});
그리고 여기에 수신 페이지입니다 : 여기에 보내는 페이지에 대한 JS입니다
$(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