Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript IE';s msxml和可能违反同源策略_Javascript_Html_Internet Explorer - Fatal编程技术网

Javascript IE';s msxml和可能违反同源策略

Javascript IE';s msxml和可能违反同源策略,javascript,html,internet-explorer,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

我遇到了一个奇怪的例子,当使用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的内容。这不是违反了同样的起源吗?我遗漏了什么吗?

你尝试过google.com之外的其他域名吗?我有一种感觉,谷歌可能已经允许访问一些资源,让这项工作。你使用哪个域名无关紧要。这是由浏览器强制执行的限制