use*_*236 6 javascript user-agent cross-domain same-origin-policy domexception
我在内部服务器上有一个页面,server1.mydomain.com/page.jsp,另一个页面在另一个内部服务器上,10.xxx:8081/page.aspx.
在server1.mydomain.com上,我在page.jsp中设置了document.domain,如下所示:
//page.jsp on server1.mydomain.com
document.domain = document.domain;
Run Code Online (Sandbox Code Playgroud)
当我在document.domain上发出警报时,它会显示为server1.mydomain.com.
在10.xxx服务器上,我在page.aspx中设置document.domain,结果如下:
//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;
Run Code Online (Sandbox Code Playgroud)
在Safari 5.1.5中,控制台上会弹出一个错误:
SECURITY_ERR: DOM Exception 18: An attempt was made to break through the security policy of the user agent."
Run Code Online (Sandbox Code Playgroud)
据我所知,当你设置document.domain时,端口号设置为null; 所以,你必须在两端设置它,我做了.然后,这个错误发生,我为什么挠我的头.这与我使用10.xxx而不是实际域名的事实有什么关系吗?
谢谢.
小智 15
您只能用于document.domain从更具体的子域更改为不太具体的域.喜欢...
console.log(document.domain); // server1.mydomain.com
document.domain = 'mydomain.com'
console.log(document.domain); // mydomain.com
Run Code Online (Sandbox Code Playgroud)
它不能用于设置更具体的子域或完全不同的域.
| 归档时间: |
|
| 查看次数: |
18774 次 |
| 最近记录: |