You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

原生HTML Popover在Safari/iOS环境下无法正常工作的原因咨询

原生HTML Popover在Safari/iOS环境下无法正常工作的原因咨询

嘿,我来帮你拆解这个问题——我之前在适配Safari的时候也踩过原生Popover的同款坑!

核心原因其实是Safari对原生HTML Popover API的支持起步太晚:直到Safari 17.4版本(2024年3月发布),苹果才正式支持原生Popover API,而且仅支持你用的manual手动模式。如果你的测试设备(不管是Mac上的Safari还是iOS的Safari)系统版本对应的Safari低于17.4,那这套代码完全跑不起来——因为浏览器根本不认识popover属性,也没有showPopover()、hidePopover()这些方法。

你代码里加了popoverRef.current &&的判断,所以不会抛出错误,但这些方法调用其实都是静默失败的,自然点击按钮没任何反应。

给你个快速验证方法:打开Safari的「关于Safari」看看版本号,如果是17.4以下,那百分百是版本支持的问题。如果确实是版本太低,要么升级设备系统到对应版本,要么就得考虑兼容方案了——比如用Popover的polyfill来补全旧版Safari的支持,或者 fallback 到自己实现的弹窗组件。

备注:内容来源于stack exchange,提问作者Jorge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 18:38:16