首先什么是跨域,简单地理解就是因为javascript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象。更详细的说明可以看下表:
URL | 说明 | 是否允许通信 |
http://www.cnblogs.com/lab/a.js http://www.cnblogs.com/script/b.js |
同一域名下不同文件夹 | 允许 |
http://www.cnblogs.com/a.js http://www.cnblogs.com/b.js |
同一域名下 | 允许 |
http://www.cnblogs.com:8000/a.js http://www.cnblogs.com/b.js |
同一域名,不同端口 | 不允许 |
http://www.cnblogs.com/a.js https://www.cnblogs.com/b.js |
同一域名,不同协议 | 不允许 |
http://www.kuqin.com/a.js http://70.32.92.74/b.js |
域名和域名对应ip | 不允许 |
http://www.cnblogs.com/a.js http://q.cnblogs.com/b.js |
主域相同,子域不同 | 不允许 |
http://www.cnblogs.com/a.js http://www.google.com/b.js |
不同域名 | 不允许 |
不同域名之间的 JS 不允许互相访问。你可以这么理解