IE的msxml和可能违反相同的原始策略

时间:2012-02-16 17:27:05

标签: javascript html internet-explorer

我遇到了一个奇怪的例子,当使用msxml时,似乎违反了IE中相同的原始策略。这是一个完整的例子:

var xmlhttp=false;  
try
{
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");      
 }
catch (e)
{
  try
  {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");       
  } catch (E)
  {
   xmlhttp = false;
  }
}    
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
    try {
        xmlhttp = new XMLHttpRequest();
    } catch (e) {
        xmlhttp=false;
    }
}

if (!xmlhttp && window.createRequest) {
    try {
        xmlhttp = window.createRequest();
    } catch (e) {
        xmlhttp=false;
    }
}
function doRequest()
{
    xmlhttp.open('GET','http://www.google.com',true);       
    xmlhttp.send();
    xmlhttp.onreadystatechange=function(){                
            if(xmlhttp.readyState==4)
            {
                 alert(xmlhttp.responseText);       
            }
        };  
}   

从IE中的简单onClick事件调用doRequest()方法,无论托管哪个域,都可以很高兴地获取google.com的内容。这不是违反同一起源的吗?我错过了什么吗?

0 个答案:

没有答案