我开发了一个小的Javascript/jQuery程序,用于访问一组内部使用的PDF文件。如果文件实际存在,我希望能够突出显示PDF文件的信息div。
有没有一种编程方法可以确定链接到文件是否损坏?如果有,该如何实现?
非常感谢任何指南或建议。
我开发了一个小的Javascript/jQuery程序,用于访问一组内部使用的PDF文件。如果文件实际存在,我希望能够突出显示PDF文件的信息div。
有没有一种编程方法可以确定链接到文件是否损坏?如果有,该如何实现?
非常感谢任何指南或建议。
GET
方法,只需使用HEAD
方法,然后检查HTTP状态以获取期望值(200或小于400)。function urlExists(url, callback) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
callback(xhr.status < 400);
}
};
xhr.open('HEAD', url);
xhr.send();
}
urlExists(someUrl, function(exists) {
console.log('"%s" exists?', someUrl, exists);
});
var threshold = 500,
successFunc = function(){ console.log('It exists!'); };
var myXHR = $.ajax({
url: $('#checkme').attr('href'),
type: 'text',
method: 'get',
error: function() {
console.log('file does not exist');
},
success: successFunc
});
setTimeout(function(){
myXHR.abort();
successFunc();
}, threshold);
var proxyUrl = "https://cors-anywhere.herokuapp.com/";
function urlExists(url, callback) {
var sameOriginURL = proxyUrl + url;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
callback(xhr.status < 400);
}
};
xhr.open('HEAD', sameOriginURL);
xhr.send();
}
urlExists(someUrl, function(exists) {
console.log('"%s" exists?', someUrl, exists);
});
$.ajax
方法。如果文件不存在,您将会得到 404 错误,并且可以在错误回调中执行任何您需要的操作(UI 方面)。请求的触发方式由您决定(例如定时器?)当然,如果您还有能力进行一些服务器端编码,您也可以进行单个 AJAX 请求 - 扫描目录,然后以 JSON 的形式返回结果。
Uncaught NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'https://www.google.com/'.
- 夏期劇場