繁体   English   中英

无需长按即可在 iOS Safari 中触发本机上下文菜单的任何方式

[英]Any way to trigger native contextual menu in iOS Safari WITHOUT long press

我正在尝试查看是否有一种方法可以为iOS Safari中的链接调用本机上下文菜单,而无需用户长按。

(例如,如果您在iPhone上打开nytimes.com,然后长按第一个标题打开系统上下文菜单,它将包含:打开链接,在新标签中打开,复制链接等)

所以我们想在我们的网站上调用 THAT,而不需要用户按下 500 毫秒。 理想情况下,用户可以简单地点击一个按钮,但任何长按的替代方法都是可以接受的(双击、滑动、两指点击等)。

在带有 swift/obj-c 的本机应用程序中,这种效果绝对是可能的。 那不是我要找的。 当在 iOS 上的 Safari 中打开时,我正试图在我们的网站上实现这一点。

我已经尝试过:

1—看看是否有办法减少长按时间要求。 虽然可以使用-webkit-touch-callout完全禁用,但我们发现没有办法减少时间。 互联网上提到可变长按时间延迟阈值的解决方案都利用第三方库来创建非本地长按行为,例如按下按钮使其“抖动”。

2——看看是否有办法忽略touchend事件——换句话说,用户将点击(~10ms),这将启动一个计时器,490ms 后,标注菜单出现,在用户移开手指很久之后。 这也没有运气,但似乎是最有希望的方法。

3——我们还尝试了其他不太理想的解决方案,例如,用户双击——首先在透明元素上,然后在主按钮上。 也没有运气。

任何建议(或完整的解决方案!)将不胜感激!

据我了解,您使用 webframe 打开应用程序,并且想要更改 IOS 具有的属性。 我认为您无法使用 javascript 或 css 更改此属性。 您应该使用 swift/obj-c 创建一个方法来完成这项工作,然后您应该考虑通过 javascript 触发它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM