跨域解决方案

跨域解决方案

跨域解决方案有:设置document.domain,使用带src标签,JSONP,navigation对象,CORS,window.postMessage,片段标识符,window.name,WebSocket

设置document.domain

  • 原理:相同主域名不同子域名下的页面,可以设置document.domain让它们同域
  • 限制:同域document提供的是页面间的互操作,需要载入iframe页面
// URL http://a.com/foo
var ifr = document.createElement('iframe');
ifr.src = 'http://b.a.com/bar'; 
ifr.onload = function(){
    var ifrdoc = ifr.contentDocument || ifr.contentWindow.document;
    ifrdoc.getElementsById("foo").innerHTML);
};

ifr.style.display = 'none';
document.body.appendChild(ifr);

需要设置iframe的domain,将 document.domain往上设置一级,这样即可操作DOM和Cookie

document.domain = 'a.com'

使用带src标签

  • 原理:所有具有src属性的HTML标签都是可以跨域的,包括,

你可能感兴趣的:(跨域解决方案)