【转】JavaScript跨域

简单理解:因为JavaScript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象。

跨域说明详细列表如下——

URL 说明 是否允许通信
 http://www.a.com/a.js
 http://www.a.com/b.js 
同一域名下 允许
 http://www.a.com/lab/a.js
 http://www.a.com/script/b.js ;
同一域名下不同文件夹 允许
 http://www.a.com:8000/a.js
 http://www.a.com/b.js
同一域名,不同端口 不允许
 http://www.a.com/a.js
 https://www.a.com/b.js
同一域名,不同协议 不允许
 http://www.a.com/a.js
 http://70.32.92.74/b.js
域名和域名对应ip 不允许
 http://www.a.com/a.js
 http://script.a.com/b.js
主域相同,子域不同 不允许
 http://www.a.com/a.js
 http://a.com/b.js
同一域名,不同二级域名(同上) 不允许(cookie这种情况下也不允许访问)
 http://www.cnblogs.com/a.js
 http://www.a.com/b.js
不同域名 不允许

  特别注意两点:

  第一,如果是协议和端口造成的跨域问题“前台”是无能为力的;

  第二:在跨域问题上,域仅仅是通过“URL的首部”来识别而不会去尝试判断相同的ip地址对应着两个域或两个域是否在同一个ip上。“URL的首部”指window.location.protocol +window.location.host,也可以理解为“Domains, protocols and ports must match”。

posted @ 2012-12-14 22:39  金广国  阅读(146)  评论(0)    收藏  举报