Javascript 下载图像时如何删除显示的问号?
当用户单击按钮时,图像将被下载 当它们被下载时,Safari会显示一个问号 我怎样才能摆脱这个 我考虑了onerror事件侦听器,但这不是一个错误。下载图像只需花费时间。这并不是说图像不在指定的src 在ajax调用之后,图像标记被添加到页面的dom中。当图像元素等待访问实际图像时,它会显示这个恼人的问号Javascript 下载图像时如何删除显示的问号?,javascript,image,Javascript,Image,当用户单击按钮时,图像将被下载 当它们被下载时,Safari会显示一个问号 我怎样才能摆脱这个 我考虑了onerror事件侦听器,但这不是一个错误。下载图像只需花费时间。这并不是说图像不在指定的src 在ajax调用之后,图像标记被添加到页面的dom中。当图像元素等待访问实际图像时,它会显示这个恼人的问号 我怎样才能摆脱它?在显示图像之前,先预加载图像 或者,在加载图像时,具有作为占位符的微调器的图像 或者,等待图像加载后再显示。隐藏包装元素,直到图像完全加载。您可以将onload事件挂接到图像
我怎样才能摆脱它?在显示图像之前,先预加载图像 或者,在加载图像时,具有作为占位符的微调器的图像
或者,等待图像加载后再显示。隐藏包装元素,直到图像完全加载。您可以将onload事件挂接到图像,然后让它在完成时显示包装元素 您可以等待图像本身加载。在设置
src
属性之前,创建image元素并添加onload
回调。在回调中,您可以将图像添加到dom。从HTML源代码中删除
-标记。将Javascript作为Image()
对象加载图像。将onload处理程序添加到图像。让这些onload图像创建
标记并将它们插入DOM
我不能预加载,因为直到用户按下按钮,src才知道。这个按钮启动一个ajax调用,然后用动态图像元素填充页面。你说的微调器是什么意思?我认为第三个选项最简单,与Diodeus@Hiro-是的,第三种选择与迪奥德乌斯建议的类似。微调器-如中所示,显示图像的动画
.gif
。此图像位于正在加载的图像的“前面”。因此,当图像完全加载时,微调器不再显示。这会在用户等待他们的图像时产生移动的影响。这似乎是最简单的,因为我已经针对错误执行了此操作。我建议不要尝试解决非问题。这就是浏览器的工作方式。该浏览器的用户知道这一点。
Image image = new Image();
image.onload = function() {
// insert image into your DOM
}
image.src = 'yourImage.jpg';