2016-08-23 57 views
0

我最近被要求创建一个页面,使用ajax和php处理图像文件上传到服务器。问题在于文件被选中时,应该在页面上预览。检查图像文件的可见性

问题是我的眼睛被摧毁,因此我无法验证图像,如果它是可见的或不给用户。要解决,我结束了检查值的src属性,像这样:

$("#img").attr('src'); 

我的问题是:考虑到一定的长度和高度的元素,我可以肯定,只要src属性有一个值,一个有效的图像文件将是可见的?它会在所有情况下工作吗?如果不是,检查图像是否存在并且可见的最佳方法是什么?

+0

您的问题对我而言并不完全清楚。你想做什么,你真的想检查什么? – eisbehr

+0

@eisbehr假设我在包含图像文件的页面中创建元素,知道图像是否在页面中成功加载并且对用户可见的最佳方法是什么? – morbidCode

+0

检查在该IMG元素上触发的onload事件。 – flowtron

回答

1

要检查图像的加载状态和可用性,可以使用loaderror事件侦听器。

$("#img").on("load", function() { 
    // the image is successfully loaded 
}).on("error", function() { 
    // the image could not be loaded, maybe the image is not availbale 
}); 
+0

如果我理解正确,视口问题不是问题的关键所在 – flowtron

+0

在他写的评论中:'并且对用户可见。您只能使用视口进行检查。其他的东西,比如':visible',只会检查页面中的可见性,但如果用户*看到*图像则不会。但他可以纠正我,然后我改变答案...... @flowtron – eisbehr

+0

是的,但是你看到这里的问题是开发人员缺乏亲自确认可见性的能力,并希望找到一种编程方式来确保他可以确认图像已成功上传。 – flowtron