Javascript 用于外部异步文件生成的HTML/JS检查
我想在HTML/js应用程序中显示由第三方应用程序生成的svg。我遇到的问题是svg生成是异步的,当HTML尝试加载svg时,文件可能丢失(当时未写入)或不完整(正在写入)。 我查看了Promise,但没有任何检查外部文件可用性的示例。Javascript 用于外部异步文件生成的HTML/JS检查,javascript,html,svg,promise,fs,Javascript,Html,Svg,Promise,Fs,我想在HTML/js应用程序中显示由第三方应用程序生成的svg。我遇到的问题是svg生成是异步的,当HTML尝试加载svg时,文件可能丢失(当时未写入)或不完整(正在写入)。 我查看了Promise,但没有任何检查外部文件可用性的示例。 有什么想法吗?因为您在评论中提到,您可以通过外部url访问svg: 您可以使用JavaScript/Jquery检查是否存在外部文件(只要您可以通过http访问) 所以你可以做这样的检查。如果找到文件,则更新图像src,如果没有,则稍后重试: 下面是一个小示例实
有什么想法吗?因为您在评论中提到,您可以通过外部url访问svg: 您可以使用JavaScript/Jquery检查是否存在外部文件(只要您可以通过http访问) 所以你可以做这样的检查。如果找到文件,则更新图像src,如果没有,则稍后重试: 下面是一个小示例实现:
//example retry delay of 3 seconds
var delay = 3000;
var url = "http://www.doma.in/path/yourimg.svg";
function tryUpdate(){
$.get(url)
.done(function() {
//your picture exists
updateImgSrc();
}).fail(function() {
// picture doesn't exist yet -> retry after time
setTimeout(tryUpdate, delay);
})
}
到目前为止,您(确切地)是如何访问该文件的?我从html调用外部命令。完成后,我通过JQuery和外部svg url更新img src属性。我需要设置一个时间间隔,以确保外部文件正常。