我正在尝试在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
请求,以便他们不会被记录?
答案 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