Excel JavaScript API으로 Excel 추가 기능을 만들고 있습니다. 이 추가 기능에 버튼이 있습니다. 클릭하면 popup = window.open("https://localhost:3000/#/new/", "popup", "width=1000, height=1100")
가 실행되고 브라우저 창이 팝업됩니다. 팝업에서 팝업을 다시로드 한 후 Addin이 postMessage를 더 이상 수신 할 수 없음
if ($window.opener !== null) {
alert($window.opener.location.href); // https://localhost/App/Home.html?et=
$window.opener.postMessage(msg, $window.opener.location.href);
}
그리고 추가 기능에, 나는 팝업에서 메시지를 수신하려면 다음 코드를 사용할 수 있습니다
function receiveMessage(event) {
console.log("RECEIVED: " + JSON.stringify(event.origin));
if (event.origin === ...) {
action(event.data);
}
};
잘 작동합니다. 추가 기능이 메시지를 수신하면 RECEIVED: "https://localhost:3000"
이 표시됩니다.
그러나 내가 팝업을 새로 고침하면 cmd+r
에 의해 팝업이 여전히 메시지 ($window.opener.location.href
은 여전히 동일 함)를 보낼 수 있지만 추가 기능은 더 이상 수신 할 수 없음을 알았습니다. RECEIVED: "https://localhost:3000"
은 더 이상 표시되지 않습니다.
아무도 무슨 일이 있었는지 알고 어떻게 고칠 수 있습니까?
고맙습니다 ... 다음 버전에서는 Dialog API를 사용해 보겠습니다. 이 버전에서는 window.open으로 최상을 만들고 싶습니다 ... – SoftTimur