1

克服できないエラーがあります。これには、ローカル ファイルの読み取りが含まれます。コードは以下のとおりで、Chrome で完全に動作します。IE10 では、xmlHTTP ではなく jQuery で動作します。xmlHTTP ルートはSCRIPT5: Access is Deniedエラーになります。

コード内にクロス ドメイン アクションは見られませんが、柔軟性を確保するためにクロス ドメイン コードを許可するようにセキュリティ設定を変更しましたが、それでも適切に実行できませんでした。専門知識をお寄せいただきありがとうございます。

外部参照はtest.txt、この HTML ファイルと同じディレクトリにある単純なファイルで、1 行のテキストが含まれています。

<!DOCTYPE html>
<html>
 <head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js">
</script>
</head>
<body>
<script>
function getXmlHttp() {
   if (window.XMLHttpRequest) {
      xmlhttp=new XMLHttpRequest();
   } else if (window.ActiveXObject) {
      xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
   }
   if (xmlhttp == null) {
      alert("Your browser does not support XMLHTTP.");
   }
   return xmlhttp;
}


function readFileHttp(fname, callback) {
   xmlhttp = getXmlHttp();
   xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState==4 ) { 
          callback(xmlhttp.responseText); 
      }
   }
   xmlhttp.open("GET", fname, true);
   xmlhttp.send(null);
}

function handleTextFile(e){
   var strOutput = String(e);
   var result = document.getElementById('xmlHTTPText');
   result.innerHTML = strOutput;
}

function doXMLHTTP(){
   readFileHttp("./test.txt", handleTextFile);
}

function handleJQTextFile(e){
   var strOutput = String(e);
   var result = document.getElementById('jQueryText');
   result.innerHTML = strOutput;
}

function doJQuery(){
   $.get("./test.txt", handleJQTextFile);
}

</script>
<button onclick="doJQuery()">doJQuery</button>
<button onclick="doXMLHTTP()">doXMLHTTP</button>
<BR />
<A>jQueryText:&nbsp;</A><A id="jQueryText"></A>
<BR />
<A>xmlHTTPText:&nbsp;</A><A id="xmlHTTPText"></A>

</body>
</html>
4

0 に答える 0