我正在试图解决这个问题,因为有很多例子说明如何做到这一点似乎并没有像我们想象的那样对我有用。我想检查是否存在本地文件。我已经将一个文件放在与html代码相同的目录中,并且它是可访问和可读的。这不是URL或权限问题。这是我尝试使用的代码的一个示例。使用全局变量linkURL中的URL调用checkURL()。
function doesFileExist(urlToFile)
{
var xhr = new XMLHttpRequest();
xhr.open('HEAD', urlToFile, false);
xhr.send();
if (xhr.status != "200") {
return false;
} else {
return true;
}
}
function checkURL()
{
var result = doesFileExist(linkURL);
if (result == true) {
alert("Exists");
// Page would be loaded here with window.location.href = linkURL;
} else {
alert("NOT Exists");
}
}
问题是这将始终返回true但永远不会返回false并且从不警告“不存在”不知何故它只是绕过了警报代码。我已经尝试了很多这方面的变体,并且在所有情况下,当URL不存在时,测试无法显示任何内容,但在存在时始终有效。我的目标是访问多个本地URL并显示那些存在的URL,但如果不存在,我希望能够向用户显示相应的消息,而不是实际访问URL并获得页面错误。文件和HTML代码最终将在DVD上,并由浏览器访问。