微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在移动设备的画布上触发上下文菜单

如何解决在移动设备的画布上触发上下文菜单

我正在画布上渲染要使用浏览器的本机“另存为”上下文菜单选项保存的内容

这在台式机(您可以转到here并右键单击绿色矩形)上效果很好,但在移动设备上(同一示例)效果不佳。

我尝试使用(使用Konva和react)触发手动附加到画布上的contextmenu事件

stageRef.current?.dispatchEvent(new MouseEvent('contextmenu',{
  bubbles: true,cancelable: false,view: window,button: 2,buttons: 0,clientX: stageRef.current?.getClientRect().x,clientY: stageRef.current?.getClientRect().y,}))

任何想法如何启用此行为?我找不到任何关于为什么它不会在移动设备上发生的消息。

解决方法

如我所见,移动浏览器没有针对任何画布的此类上下文菜单。据我了解,“另存为”不是一种标准,因此可能无法在所有浏览器中使用。

作为解决方案,您可以使用导出选项来制作自己的上下文菜单。

https://konvajs.org/docs/data_and_serialization/Stage_Data_URL.html#page-title

https://konvajs.org/docs/sandbox/Canvas_Context_Menu.html#page-title

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。