簡體   English   中英

Javascript:如何延遲返回img.complete的值

[英]Javascript: How can I delay returning a value for img.complete

我編寫了一個腳本來測試IMG標記中的SVG支持:

function SVGinIMG() {
  var SVGdata = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNzUiIGhlaWdodD0iMjc1Ij48L3N2Zz4%3D'
  var i = document.createElement('img');
  i.setAttribute('src',SVGdata);
  return i.complete;
}
window.onload = function() {
  var hasSVG = SVGinIMG();
  alert(hasSVG);
}

這就是我想要的,除了當我在WebKit瀏覽器中運行腳本時,我第一次加載頁面時不會觸發complete屬性; 當我刷新頁面時,它可以正常工作。 返回函數在img完成加載之前運行; 推遲這個的最好方法是什么?

我讓事情變得復雜了; 我真正需要的只是加載事件:

function SVGDetect() {
  var testImg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNzUiIGhlaWdodD0iMjc1Ij48L3N2Zz4%3D';
  var img = document.createElement('img')
  img.setAttribute('src',testImg);
  img.addEventListener('load',setCSS,true);
}

這在圖像加載時運行另一個功能,這在瀏覽器不支持圖像中的SVG的情況下是絕對不會的。

暫無
暫無

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

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