안녕하세요.
카카오톡 인앱 브라우저 내부에서 window.open으로 연 창이 window.close으로 닫히지 않는 현상이 있습니다.
해결할 수 있는 방법이 있을까요?
안녕하세요.
카카오톡 인앱 브라우저 내부에서 window.open으로 연 창이 window.close으로 닫히지 않는 현상이 있습니다.
해결할 수 있는 방법이 있을까요?
Have you checked that there are no problems in the JS code?
If you send me the source codes of this area I can help you
const opener = window.opener || window.open('', 'windowNameExample');
if (opener) {
opener.postMessage({ code, state) });
window.close();
}
이런 코드에서 window.close가 예상한 대로 동작이 안 되는 것 같습니다. 카카오 인앱 브라우저가 아닌 곳에서는 잘 실행됩니다.
Remember, this code is encoded in the incoming structure, you will need to make it compatible with your own software. It should work 90%.
const handleWindowOperation = () => {
try {
const opener = window.opener || window.open('', 'windowNameExample');
if (opener) {
opener.postMessage({
code,
state
}, '*');
window.close();
}
} catch (error) {
console.error('Window operation failed:', error);
}
};
window.addEventListener('message', (event) => {
const { code, state } = event.data;
console.log('Received code:', code);
console.log('Received state:', state);
});
const alternativeClose = () => {
try {
window.close();
} catch (e) {
history.back();
}
};
**Example This is sample code, i just show don't copy here.**
const startAuth = () => {
const authWindow = window.open('https://auth-devtalk.kakao.com).com/login', '_blank');
window.addEventListener('message', (event) => {
if (event.data.code) {
handleAuthentication(event.data.code);
authWindow.close();
}
});
};
i already tried window.history.back
method instead window.close
, but it doesn’t work.