Tôi có hình ảnh của tôi trong một câu lệnh if:Làm cách nào để ẩn hình ảnh bị hỏng trong javascript?
if (item.image)
historyHtml += '<a href=' + item.image + ' class="image" target="_blank"><img src="' + item.image +'" width="111px"/></a>';
Tôi có hình ảnh của tôi trong một câu lệnh if:Làm cách nào để ẩn hình ảnh bị hỏng trong javascript?
if (item.image)
historyHtml += '<a href=' + item.image + ' class="image" target="_blank"><img src="' + item.image +'" width="111px"/></a>';
Bạn có thể sử dụng các handler onerror. Trong hình thức inline, nó trông như thế này:
<img src="someimage.jpg" onerror="this.style.display='none';" />
Xin chào Piskvor, cảm ơn bạn rất nhiều. Tôi đã thử nó và nó thông qua tôi trở lại lỗi: if (item.image) historyHtml + = ''; – jprim
@jprim: "lỗi" gây khó chịu. Điều gì xảy ra chính xác khi bạn thử điều này? – spender
@jprim: Bạn không thoát khỏi dấu ngoặc kép một cách chính xác. Hãy thử điều này: if (item.image) historyHtml + = '' – spender
Như @piskvor nói, thực sự tải hình ảnh trong thẻ img là cách duy nhất để tìm hiểu liệu URL bị hỏng hay không. Sự kiện error
bị kích hoạt nếu tải không thành công.
Nhưng nhìn vào mã của bạn, có thể cách tiếp cận ngược lại có ý nghĩa nhất: Ẩn theo mặc định <a>
và hiển thị nó trong sự kiện onload
của hình ảnh.
tóm lược:
<a href=".." id="image228" style="display: none">
<img src="..." onload="this.parentNode.style.display = 'block'">
</a>
Xác định "hình ảnh bị hỏng"? Tôi không hiểu. –
Nếu item.image là từ một url bị hỏng. Ví dụ khi nó hiển thị đọc X: http://img807.imageshack.us/img807/8431/brokenimage.png – jprim