2016-08-23 106 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