개발/HTML, JS
window.opener 권한이 없습니다.
공유민
2016. 11. 16. 01:16
window.opener 권한이 없습니다. 라고 뜨면서 window.opener를 사용할 수 없을 때가 있다.
부모창에서 자식창을 호출하고
그 값들을 다른 asp페이지나 html페이지로
넘긴 후 다시 부모창에게 값을 넘기기 위해
opener를 사용할 수 없을 때가 있다.
이럴 때 document.domain값을 확인해 보면
다른걸 알 수 있다.
위와 같은 상황에 서버단에서 구동한다면
aaa.0yumin.com
bbb.0yumin.com
이렇게 값이 다르다면
document.domain = "0yumin.com"
이런식으로 도메인을 맞춰주면
opener를 사용할 수 있다.
하지만 로컬 서버에서 구동할 때
localhost 와 127.0.0.1이 다르다고 인식이 될 수 있다. (내가 겪은 케이스)
이럴 때는 절대 주소로 호출하는 것들을
상대 주소로 사용해주면 해결된다.
상대 주소로 호출할 경우에는 document.domain 값이 localhost로 유지되어 부모창을 호출할 수 있다.
ex)
"http://127.0.0.1/aaa.asp" → "./aaa.asp"