首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在<amp-img>中有使用onerror()属性的方法吗?

在<amp-img>中有使用onerror()属性的方法吗?
EN

Stack Overflow用户
提问于 2017-08-10 07:28:56
回答 1查看 1.2K关注 0票数 4

<amp-img>中有使用onerror属性的方法吗?

在html中效果很好。

代码语言:javascript
复制
<img src="../images/some-logo1.jpg" onerror="this.src='../images/no-img.jpg';" class="posting-logo-img">

但是amp html将在amp-img中创建img标记。

代码语言:javascript
复制
<amp-img src="/img/amp.jpg" alt="AMP" class="posting-logo-img" onerror="this.src='../images/no-img.jpg';" >
  <noscript>
    <img src="/img/amp.jpg" alt="AMP"> 
  </noscript>
</amp-img>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-10 11:14:26

我们不能在onerror中使用amp-img属性,但是,amp提供了Offline Fallback特性而不是onerror

AMP支持AMP的公共属性,这意味着您可以在无法加载图像的情况下显示回退。这是很好的添加离线支持到您的AMP。

当原始图像不可用或返回404时,这将为您提供在回退div中提供的文本输出。

代码语言:javascript
复制
<style amp-custom>
  amp-img > div[fallback] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f2f2f2;
    border: solid 1px #ccc;
  }
</style>

<amp-img src="/img/product-image.jpg" width="300" height="100" layout="responsive" class="m1">
    <div fallback>offline</div>
</amp-img>

输出:

现在,如果您想在未找到原始图像时显示任何图像(例如,无图像)而不是文本,则将背景图像设置为回退div

代码语言:javascript
复制
<style amp-custom>    
  amp-img > div[fallback] {
     background:url('/img/does-not-exist.jpg') no-repeat;
  }
</style>

<amp-img src="/img/product-image.jpg" width="300" height="100" layout="responsive" class="m1">
    <div fallback></div>
</amp-img>

输出:

见正式文件: 放大器图像-离线回退

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45607158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档