克服できないエラーがあります。これには、ローカル ファイルの読み取りが含まれます。コードは以下のとおりで、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: </A><A id="jQueryText"></A>
<BR />
<A>xmlHTTPText: </A><A id="xmlHTTPText"></A>
</body>
</html>