代码之家  ›  专栏  ›  技术社区  ›  Matthew

检查聚合物骨架中是否存在资源

  •  0
  • Matthew  · 技术社区  · 7 年前

    我想把产品图片 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 事件,但我没有看到一个直接的途径来实现他们的聚合物框架。

    有办法处理这些吗 GET 要求他们不被记录?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Kate Jeffreys    7 年前

    简短回答:

    遗憾的是,没有。

    这不是“在聚合物中做不到”的事情。在编写本文时,处理404以防止控制台错误是 从开发人员的角度来看根本不可能 .

    更长的答案:

    afaict对于web开发人员来说,没有办法阻止浏览器将404记录为错误。如果一个浏览器被问到“请拿这个东西”或者“嘿,你能检查一下这是不是东西吗?”答案是“这不是一回事”,这取决于浏览器如何处理这些信息。现在,它所做的(嗯,无论如何,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

    推荐文章