簡體   English   中英

HTML/Javascript 從 img src 屬性中刪除數據

[英]HTML/Javascript remove data from img src attribute

我的頁面中有一個空的 img <img ... src=""/>

當事件發生時,我將 img 屬性設置為內聯 png 數據:

<img ... src="data:image/png;base64,..."/>

當另一個事件發生時,我設置src為Nothing(刪除IMG): myImg.src = ""

問題是:當我將 src 設置為空時,img 不會重新加載。 如果我隱藏 img,請等待一段時間並再次顯示它,但它是一個丑陋的黑客......

PS:我不想設置默認的“空白”圖像,我需要它真的是空白的(src = "")。

編輯:我的javascript:

biometria.setImage = function(png) {
    if(png)
        bioCanvas.src = 'data:image/png;base64,' + png;
    else
        bioCanvas.src = '';
};

Edit2:瀏覽器:Google Chrome 18.0.1025.162 Ubuntu 12.04

從技術上講,圖像標簽需要有一個 src 屬性,並且它不應該是空的。 但是, W3C 規范並不清楚如何處理 src 屬性為空的情況。 因此,每個瀏覽器處理這種情況的方式略有不同。

實際上,缺乏規范會導致很多問題,您的只是其中之一。 可以在此處找到有關此問題的更詳細信息

正如其他人指出的那樣,通過 CSS 隱藏/顯示圖像更可取(如果您想保持空間被占用,則使用可見性:無,或者如果您希望圖像完全消失,則顯示:無)。 或者,您可以簡單地使用 JS 刪除完整的圖像標簽,並在您想要插入時創建一個新圖像。

我通過打擊代碼處理這個問題並為我工作:

document.getElementById('tst').removeAttribute('src');

我建議您用新的圖像替換圖像。 在 jQuery 中,您可以執行以下操作:

$('#yourImage').replaceWith('&lt;img src="" id="yourImage" /&gt;');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM