JS跨域

2017-06-21  本文已影响0人  放风筝的小小马

同源策略

浏览器出于安全考虑,只允许本域下的接口交互;不同源的客户端脚本,在没有明确授权的前提下,不允许读写对方资源
注意:是浏览器会阻止跨域访问,并不是服务器端不响应请求

本域指的是?

例如:

什么叫跨域?以及跨域的几种实现方法?

跨域就是指不同域的接口相互访问
实现方法:

页面A的URL: http://a.smallmage.com/a.html
页面B的URL: http://b.smallmage.com/a.html
设置它们两个页面的:window.domain = "smallmage.com"

这样两个网页就可以通信了

postMessage调用语法如下:
otherWindow.postMessage(message, targetOrigin, [transfer]);
postMessage的接收语法如下
window.addEventListener('message', onmessage, false);
代码示例:

$('.main input').addEventListener('input', function(){
    console.log(this.value);
    window.frames[0].postMessage(this.value,'*');
})
window.addEventListener('message',function(e) {
        $('.main input').value = e.data
    console.log(e.data);
});
上一篇 下一篇

猜你喜欢

热点阅读