V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
oscarzhoud
1D

求教,最新的 iOS 怎么可以在前段代码上长按图片呼出保存菜单,而不唤出 Safari 自带的文字识别功能

  •  
  •   oscarzhoud ·
    oscarzhoud · May 10, 2022 · 2124 views
    This topic created in 1449 days ago, the information mentioned may be changed or developed.
    各位大佬,我最近的一个 h5 项目,是到一定步骤生成一个电子证书的图片,引导用户长按保存收藏。但是每次用户只要是用 iOS Safari 打开的话,总是变成类似于「 OCR 文字识别选中后问你复制不复制」或「 Smartisan 一步」让你往外拖拽的效果,低版本 iOS 正常,但是新的也不知道是 iOS 14 以上还是 iOS 15 以上有这个功能了之后就没法方便的保存图片了。
    直接调用点击下载图片的话,又不会保存到相册中,而是跑到了 iOS 的 「文件」-「下载」的 app 里。非常蛋疼。
    7 replies    2023-04-22 15:04:36 +08:00
    daveh
        1
    daveh  
       May 10, 2022 via iPhone
    长按图片非文字区域保存。
    devcat9
        2
    devcat9  
       May 10, 2022
    你可以 Safari 里面 inspect 下被 OCR 的图片看看,本质上是 inject 了一个 shadow DOM 做到的 OCR 选中文字效果。你可以把 Shadow DOM 都干掉。
    0TSH60F7J2rVkg8t
        3
    0TSH60F7J2rVkg8t  
       May 10, 2022
    快速点两下图片,在第二下点击后不松手,长按,约 0.5 秒后,就可弹出保存菜单。
    daveh
        4
    daveh  
       May 10, 2022 via iPhone
    @ahhui 如果图片已经 OCR ,你这个方法如果点在文字上是不生效的。
    oscarzhoud
        5
    oscarzhoud  
    OP
       May 11, 2022
    @daveh 主要是没法教用户长按非文字区,而且图片是个“纪念证书”,总不能刻意留一些空白告诉用户长按那里吧- -
    在想有什么好方法能解决,或者有什么方法能告诉 Safari 不要自作聪明的去 OCR 这张图
    Felix96
        6
    Felix96  
       May 24, 2022
    给<img />标签添加 draggable="false"属性可以禁止跨应用拖动分享。

    样式里添加
    img {
    -webkit-user-select: none;
    user-select: none;
    }
    勉强禁掉 Live Text 的文本选择,iPhone 设置里能关。

    实在不行,绘制一个圆形动画放在图片上方( pointer-events:none; ),
    引导下按下指定区域,一般图片边缘比较好触发。
    houchangxiaowang
        7
    houchangxiaowang  
       Apr 22, 2023
    最后搞定了吗,我咋图片复现不了你说的这个问题呢,
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1239 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 23:32 · PVG 07:32 · LAX 16:32 · JFK 19:32
    ♥ Do have faith in what you're doing.