收藏
回答

H5,web components封装的img组件,长按无法保存;

使用web components自定义了img组件,开启了shadow dom,然后在微信网页中就无法长按保存图片了,在手机自带浏览器中可以长按保存。

我尝试了把shadow dom关闭,就正常了。微信这里能不能兼容下shadow dom里面的img,让其也能长按保存。

不知道微信H5的问题在哪里 反馈,只能写在这里了

回答关注问题邀请回答
收藏

2 个回答

  • 社区技术运营专员--阳光
    社区技术运营专员--阳光
    2022-09-06

    怎么复现?给个case看下

    2022-09-06
    有用
    回复 6
    • 张阳
      张阳
      2022-09-14
      ios 15.3.1 微信中web components定义的img无法长按保存。Safari浏览器中正常。
      2022-09-14
      回复
    • 社区技术运营专员--阳光
      社区技术运营专员--阳光
      2022-09-20回复张阳
      构建个复现页面看下呢
      2022-09-20
      回复
    • 鲤鱼粉lyf🍭
      鲤鱼粉lyf🍭
      2023-09-23
      你好。请问这个问题有解决了吗
      2023-09-23
      回复
    • 张阳
      张阳
      2023-11-03回复鲤鱼粉lyf🍭
      我是在长按的时候在shadow同级创建一个透明的img元素,迂回处理的
      2023-11-03
      回复
    • 鲤鱼粉lyf🍭
      鲤鱼粉lyf🍭
      07-16
      感觉这个问题一直没有得到很好的解决,看看能不能安排下兼容
      07-16
      回复
    查看更多(1)
  • 张阳
    张阳
    2022-09-14

    ios 15.3.1 微信中web components定义的img无法长按保存。Safari浏览器中正常。

    <!DOCTYPE html>
    <html lang="en">
      <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
      </head>
      <body>
        <p>这是普通img:</p>
        <img src="https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg" />
        <br />
        <p>这是web components封装的img组件:</p>
        <User-card></User-card>
        <script>
          class UserCard extends HTMLElement {
            constructor() {
              super()
              var shadow = this.attachShadow({ mode: 'open' })
              var image = document.createElement('img')
              image.src = 'https://res.wx.qq.com/wxdoc/dist/assets/img/0.4cb08bb4.jpg'
              image.classList.add('image')
              shadow.appendChild(image)
            }
          }
          window.customElements.define('user-card', UserCard)
        </script>
      </body>
    </html>
    
    
    
    2022-09-14
    有用
    回复
登录 后发表内容