У меня есть страница на внутреннем сервере server1.mydomain.com/page.jsp и еще одна страница на другом внутреннем сервере, 10 .xxx:8081/страница.aspx.
На server1.mydomain.com я устанавливаю document.domain в page.jsp следующим образом:
//page.jsp on server1.mydomain.com
document.domain = document.domain;
Когда я выдаю предупреждение на document.domain, он отображается как server1.mydomain.com.
На сервере 10.xxx прописал document.domain в page.aspx, в итоге вот так:
//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;
В Safari 5.1.5 в консоли выскакивает ошибка:
SECURITY_ERR: DOM Exception 18: An attempt was made to break through the security policy of the user agent."
Из чего я поймите, когда вы устанавливаете document.domain, номер порта устанавливается равным нулю; Итак, вы должны установить его на обоих концах, что я и сделал. Затем возникает эта ошибка, и я ломаю голову, почему. Это как-то связано с тем фактом, что я использую 10.x.x.x, а не настоящее доменное имя?
Спасибо.