我正在制作一个使用 JavaFX 网页视图来显示电子邮件 HTML 文件的电子邮件客户端。为了使其响应迅速,我希望在本地下载内联图像时显示在电子邮件中。我查找了执行此操作的选项,并遇到了延迟加载的概念。到目前为止,我已经找到并尝试实现此脚本:<script>window.addEventListener('load', function(){ var allimages= document.getElementsByTagName('img'); for (var i=0; i<allimages.length; i++) { if (allimages[i].getAttribute('data-src')) { allimages[i].setAttribute('src', allimages[i].getAttribute('data-src')); } }}, false)</script>我会浏览文件,将srcs更改为假名,从每个img元素添加/替换data-src作为正确的路径/名称,最后将脚本附加到body元素的末尾。我对HTML的基础知识很陌生,而JS不是显示错误日志的人,所以我不确定我做错了什么。我的猜测是,脚本在某种程度上可以正常工作,但是当从在线src流式传输图像时效果最好。我的情况是,直到将HTML加载到视图中后的某个时间,文件甚至不存在于某个位置。如果这无法实现,我知道我可以通过Java编写WebView代码,以便在每次映像完成下载时重新加载。我只是希望找到一些更优雅/可能不那么刺耳的东西。
1 回答

幕布斯6054654
TA贡献1876条经验 获得超7个赞
我找到了一个解决方案,并已将其发布在这里。
事实证明,延迟加载不是我想要的。延迟加载只是稍后加载图像,以便页面可以显示。我的问题是处理加载失败,这是延迟加载无法解释的。我会将其标记为重复,但我会将此问题的标题保留为未编辑,以便其他人有更好的机会找到它。
添加回答
举报
0/150
提交
取消