728x90

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"

+ Recent posts