如何解决javascript的跨域问题

 我来答
吉他手_vai
2015-08-17 · TA获得超过223个赞
知道小有建树答主
回答量:331
采纳率:25%
帮助的人:345万
展开全部

一般是用iframe设置

document.domain = 'a.com';
var ifr = document.createElement('iframe');
ifr.src = 'http://a.com/index.html';
ifr.style.display = 'none';
document.body.appendChild(ifr);
ifr.onload = function(){
    var doc = ifr.contentDocument || ifr.contentWindow.document;
    console.log(doc.documentElement.innetHTML);
};

然后HTML5新特性有 ,postMessage

	function Init () {    
if (window.addEventListener) {
// all browsers except IE before version 9    
window.addEventListener ("message", OnMessage, false);    
}    
else {    
if (window.attachEvent) {
// IE before version 9    
window.attachEvent("onmessage", OnMessage);    
}    
}    
}    
       function GetState () {    
var frame = document.getElementById ("myFrame");    
var message = "getstate";//参数
if (frame.contentWindow.postMessage) {
        //传递的参数,后面是传递的你的跨域域名
frame.contentWindow.postMessage (message, "*");    
}        
       }    
       function OnMessage (event) {    
    console.log(event.data);
}    

document.body.onload=function(){Init();GetState();};
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式