【Javascript】利用document.domain解决子域跨域访问问题
- 在主页面(位于witmax.cn中)通过隐藏的iframe嵌套子页面(内容位于www.witmax.cn)
- 在主页面中设置document.domain="witmax.cn";
- 在子页面中设置document.domain="witmax.cn";
- 在主页面和子页面中可以相互访问内容了;需要跨域访问其他内容,可以通过在对应页面上发请求完成取回数据然后进行对应操作
根据浏览器安全策略,不同域名(比如witmax.cn和www.witmax.cn)、不同协议(比如http://witmax.cn和https://witmax.cn)、不同端口(比如http://witmax.cn和http://witmax.cn:8088)之间的页面不能相互访问,包括XMLHTTPRequest方式和Javascript的页面访问。
有一个例外是:在相同根域、相同协议、相同端口的情况下,可以利用设置document.domain方式来解决不同子域的跨站访问问题。
举个例子,想在witmax.cn中,访问www.witmax.cn域名下的内容,需要以下几步来完成:
P.S. 补充几点:
1、document.domain可以由子域www.witmax.cn修改为主域witmax.cn,而不能由witmax.cn修改为www.witmax.cn(不是所有浏览器都支持)。
2、不同根域、或不同协议、或不同端口之间的跨域访问只能通过服务器断的代理程序来解决了。
3、详细的示例见参考文档:
标签: Javascript
比较高难度的了。。
[回复]
不同域名之间的跨域还是很难解决吧。
[回复]