为什么我的 XHTML 文件在 IE 中被拒绝访问
Why does my XHTML file get an access denied in IE
给出以下代码:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Informations</title>
<script language="JavaScript">
function chargeDocument(URI) {
try {
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", URI,true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
afficheTitres(xmlhttp.responseXML);
}
}
xmlhttp.send(null);
} catch(o) {alert(o);}
}
function afficheTitres(doc) {
titres = doc.getElementsByTagName("title");
elementol = document.createElement("ol");
var longueur = titres.length;
for ( k = 0; k < longueur ; ++k) {
elementli = document.createElement("li");
elementli.appendChild(
document.createTextNode(
titres[k].firstChild.nodeValue
)
);
elementol.appendChild(elementli);
}
body = document.getElementsByTagName("body").item(0);
body.appendChild(elementol);
}
</script>
</head>
<body>
<ul>
<li><a href="javascript:chargeDocument('infos.xml');">By clicking there, you'll have the info</a></li>
</ul>
</body>
</html>
当我用 IE 打开 xhtml 文件时,它会显示“通过单击那里,您将获得信息”,但是当我单击 link 时,会弹出“访问被拒绝” ”。这是为什么?
我同意 Alohci 的观点。在任何浏览器中都无法通过 D:\infos.xml
等本地文件协议访问它。如果我使用 http://...
在远程服务器或本地主机中托管文件,它可以通过单击文本显示信息。
因此您需要将其托管在网络服务器中才能访问该资源。您可以查看结果:
给出以下代码:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Informations</title>
<script language="JavaScript">
function chargeDocument(URI) {
try {
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", URI,true);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4) {
afficheTitres(xmlhttp.responseXML);
}
}
xmlhttp.send(null);
} catch(o) {alert(o);}
}
function afficheTitres(doc) {
titres = doc.getElementsByTagName("title");
elementol = document.createElement("ol");
var longueur = titres.length;
for ( k = 0; k < longueur ; ++k) {
elementli = document.createElement("li");
elementli.appendChild(
document.createTextNode(
titres[k].firstChild.nodeValue
)
);
elementol.appendChild(elementli);
}
body = document.getElementsByTagName("body").item(0);
body.appendChild(elementol);
}
</script>
</head>
<body>
<ul>
<li><a href="javascript:chargeDocument('infos.xml');">By clicking there, you'll have the info</a></li>
</ul>
</body>
</html>
当我用 IE 打开 xhtml 文件时,它会显示“通过单击那里,您将获得信息”,但是当我单击 link 时,会弹出“访问被拒绝” ”。这是为什么?
我同意 Alohci 的观点。在任何浏览器中都无法通过 D:\infos.xml
等本地文件协议访问它。如果我使用 http://...
在远程服务器或本地主机中托管文件,它可以通过单击文本显示信息。
因此您需要将其托管在网络服务器中才能访问该资源。您可以查看结果: