javascript - Polymer 1.0+ iron-image - 等待图像文件存在以避免 404 错误的最佳实践

标签 javascript image polymer polymer-1.0

我想知道 Polymer 1.0+ 中的最佳实践是什么,使用iron-image 加载由另一个后端异步进程生成的文件。我希望 iron-image 等待后端进程完成创建图像文件,并显示占位符图像直到可以加载。目前,当后端进程仍在生成图像时,我间歇性地收到 404 错误。

过去,我会在计时器间隔内执行类似下面的 js 函数...但我相信一定有一种更好的方法,并且没有被弃用(主线程上的同步 XMLHttpRequest 是已弃用,因为它对最终用户的体验有不利影响)。

imageExists: function(image_url) {
     var http = new XMLHttpRequest();

     http.open('HEAD', image_url, false);
     http.send();

     return http.status != 404;
},

是否有一些内置的iron-image功能我没有利用来处理这种情况?

最佳答案

您可以使用占位符属性:

/**
 * This image will be used as a background/placeholder until the src image has
 * loaded.  Use of a data-URI for placeholder is encouraged for instant rendering.
 */
placeholder: {
  type: String,
  value: null,
  observer: '_placeholderChanged'
},

示例:

<iron-image style="width:400px; height:400px;" placeholder="./loading.png"
      sizing="cover" preload src="http://lorempixel.com/600/400"></iron-image>

关于javascript - Polymer 1.0+ iron-image - 等待图像文件存在以避免 404 错误的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32570979/

相关文章:

css - 单击时图像上出现白色边框 :S

javascript - 显示来自缓存浏览器的图像

dart - 使用类作为 Dart polymer 元素的属性

javascript - ng-repeat 元素删除属性

javascript - 杰伊: form with jsp and angular

javascript - 图像翻转

javascript - 尝试使用 css 将图像添加到 SVG 圆

polymer - 使用纸张输入时,Polymer 3.0未捕获的DOM异常

javascript - Polymer - 访问自定义元素内的 DOM 输入元素

javascript - 从 android 调用 javascript 函数