检查Polymer Framework中是否存在资源

时间:2018-06-14 14:50:53

标签: image polymer dom-repeat

我正在尝试在dom-repeat模板中提取产品图片,但在404中显示的遗失资源出现console.log错误。我想用更合理的错误清理日志。

<template is="dom-repeat" items="" index-as="index">
  <lazy-image class="center"
    placeholder="/images/placeholder.png"
    src="https://www.images.com/[[formatImg(item.id)]].png"
    style="width: 24pt; height: 24pt;">
  </lazy-image>       
</template>

...

formatImg(id) {
  if(typeof id != 'null') return id.replace(' ', '%20');
}

我已经看到有关on-error事件的一些文档,但我没有看到将它们实现到Polymer框架中的直接路径。

有没有办法处理这些GET请求,以便他们不会被记录?

1 个答案:

答案 0 :(得分:1)

简短回答:

不幸的是,没有。

这不是“不能在Polymer中做到”的事情。在撰写本文时,从开发人员的角度来看,完全不可能进行404错误来防止控制台错误。

更长的答案:

AFAICT,Web开发人员无法阻止浏览器将404错误记录为错误。如果浏览器被问到“请把它拿走”,甚至“嘿,您能检查一下这是东西吗?”答案是“那不是问题”,这取决于浏览器对这些信息的处理方式。现在,它的功能(欢迎使用Chrome,无论如何还是Chrome-我还没有研究其他功能)是“将错误记录到控制台”。总是。无论如何。

您(作为最终用户)可以在浏览器中关闭该行为。但是您(作为开发人员)不能“捕获”错误并进行处理以使浏览器保持满意。即使您确实处理了错误并为浏览器提供了一些东西,而不是造成404错误的资源,它仍然会作为错误记录在控制台中:

<!-- STILL CAUSES A 404 ERROR TO BE LOGGED TO THE CONSOLE -->
<img id="myimg" src="imagethatdoesntexist.gif" onerror="this.onerror=null;this.src='imagethatexists.gif';">

来源:反复试验&&此线程https://bugs.chromium.org/p/chromium/issues/detail?id=124534#c17