JS跨域问题

javascript出于安全方面的考虑,是不允许跨域调用其他页面的对象的。但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦。没有记错的话前三届D2论坛上每次都有人提这个东西,这里把涉及到跨域的一些问题简单地整理一下:

首先什么是跨域,简单地理解就是因为javascript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象。更详细的说明可以看下表:

URL说明是否允许通信
http://www.kuqin.com/lab/a.js
http://www.kuqin.com/script/b.js
同一域名下不同文件夹允许
http://www.kuqin.com/a.js
http://www.kuqin.com/b.js
同一域名下允许
http://www.kuqin.com:8000/a.js
http://www.kuqin.com/b.js
同一域名,不同端口不允许
http://www.kuqin.com/a.js
https://www.kuqin.com/b.js
同一域名,不同协议不允许
http://www.kuqin.com/a.js
http://70.32.92.74/b.js
域名和域名对应ip不允许
http://www.kuqin.com/a.js
http://script.kuqin.com/b.js
主域相同,子域不同不允许
http://www.ithao123.com/a.js
http://www.kuqin.com/b.js
不同域名不允许

特别注意两点:

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

第二:在跨域问题上,域仅仅是通过URL的首部来识别而不会去尝试判断相同的ip地址对应着两个域或两个域是否在同一个ip上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值