내부 서버 인 server1.mydomain.com/page.jsp에 페이지가 있고 다른 내부 서버에 다른 페이지 인 10.x.x.x : 8081/page.aspx가 있습니다.SECURITY_ERR : 두 사이트에서 document.domain을 적용 할 때 DOM 예외 18. 어떻게 해결할 수 있습니까?
는 server1.mydomain.com에, 나는 다음과 같이 page.jsp에 document.domain을 설정합니다
//page.jsp on server1.mydomain.com
document.domain = document.domain;
나는 document.domain을에 경고를 발행, 그것은 server1.mydomain.com로 온다.
이//page.aspx on 10.x.x.x
document.domain = "server1.mydomain.com";
// test if same-origin policy violation occurs
document.getElementById("div_el").innerHTML = window.top.location.href;
사파리 5.1.5에서 오류가 콘솔에 팝업 : 다음 10.xxx 서버에서
,이 같은 결과로, page.aspx에 document.domain을 설정SECURITY_ERR: DOM Exception 18: An attempt was made to break through the security policy of the user agent."
내가 아는 바로는 document.domain을 설정하면 포트 번호가 null로 설정됩니다. 그래서, 당신은 그것을했던 양쪽 끝에서 설정해야합니다. 그런 다음이 오류가 발생하고 왜 내 머리를 긁적입니다. 이것은 실제 도메인 이름이 아닌 10.x.x.x를 사용하고 있다는 사실과 관련이 있습니까?
감사합니다.
그래서 두 서버가 mydomain.com에 있으면 mydomain.com으로 둘 다 변경하면 작동합니까? server1.subdomain.mydomain.com 및 server2.subdomain.mydomain.com이 있다고 가정 해보십시오. 둘 다 mydomain.com에 설정하면 작동합니까? – user717236
@ user717236 : 클라이언트 페이지가'mydomain.com'에서 호스팅되는 경우'server1.subdomain.mydomain.com' 또는'server2 ...'로 AJAX 요청을 할 수없고'document를 사용합니다. 도메인'도움이되지 않습니다. 그러나 그 반대가 사실이고 클라이언트의 페이지가'server1.subdomain.mydomain.com'에서 호스팅되는 경우'document.domain'을 사용하면'mydomain.com'에 요청할 수 있습니다 . –
오, 알았어요. 따라서 필자의 경우, 페이지가 효과적으로 hostname.subdomain.mydomain.com에서 호스팅되기 때문에 작동하지 않을 것이라고 생각합니다. 하나가 serverX.mydomain.com이고 다른 하나가 serverY.subdomain.mydomain.com 인 경우, 그걸로 뭔가 할 수 있습니다. 드로잉 보드로 돌아갑니다. 도와 줘서 고마워. – user717236