Ich habe eine Seite auf einem internen Server, server1.mydomain.com/page.jsp und eine andere Seite auf einem anderen internen Server, 10.x.x.x: 8081/page.aspx.SECURITY_ERR: DOM-Ausnahme 18 bei der Anwendung von document.domain auf beiden Websites. Wie kann ich das beheben?
Auf server1.mydomain.com, habe ich document.domain in page.jsp wie folgt aus:
//page.jsp on server1.mydomain.com
document.domain = document.domain;
Wenn ich eine Benachrichtigung auf document.domain ausgeben, es kommt als server1.mydomain.com.
Auf dem 10.xxx Server, habe ich in page.aspx als Folge document.domain, wie folgt aus:
//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;
In Safari 5.1.5, erscheint ein Fehler auf der Konsole nach oben:
SECURITY_ERR: DOM Exception 18: An attempt was made to break through the security policy of the user agent."
Aus was ich verstehe, wenn Sie document.domain festlegen, wird die Portnummer auf Null festgelegt; also musst du es an beiden Enden einstellen, was ich getan habe. Dann tritt dieser Fehler auf und ich kratze mich am Kopf warum. Hat das etwas damit zu tun, dass ich 10.x.x.x verwende und keinen tatsächlichen Domainnamen?
Vielen Dank.
Also, wenn ich beide zu mydomain.com ändere, vorausgesetzt beide Server sind auf mydomain.com, würde es funktionieren? Angenommen, ich habe server1domain.mydomain.com und server2domain.mydomain.com. Wenn ich beides auf mydomain.com setze, würde es funktionieren? – user717236
@ user717236: Wenn die Seite des Clients von 'mydomain.com' gehostet wird, können Sie keine AJAX-Anfragen an' server1domain.mydomain.com' oder 'server2 ...' stellen und 'document verwenden. Domain' wird nicht helfen. Wenn das Gegenteil der Fall ist und die Seite des Clients beispielsweise von 'server1domain.mydomain.com' gehostet wird, können Sie' document.domain' verwenden, um Anfragen an 'mydomain.com' zu stellen . –
Oh, ich verstehe. Also, in meinem Fall glaube ich nicht, dass es funktionieren wird, da die Seiten effektiv auf hostname_domain.meinedomain.com gehostet werden. Wenn man serverX.mydomain.com wäre und der andere serverYdomain.mydomain.com, dann könnte ich etwas damit machen. Zurück zum Zeichenbrett. Danke für Ihre Hilfe. – user717236