我的网页需要允许移动用户长时间点击HTML图像元素,将其保存到他们的图库中,就像在任何移动web浏览器上浏览谷歌图片一样。
当我创建一个HTML元素时,长点击似乎不会打开上下文菜单,也不会在Android (Chrome)或iOS (Safari)上做任何事情。即使我将img元素的样式设置为-webkit-user-select: none; (以防止用户突出显示图像),它似乎也不起作用。我试过用谷歌图片的方式进行逆向工程,但我搞不懂。
我只允许用户通过锚元素下载图像,但这似乎是将照片保存到手机的文件系统中,这意味着在iPhone上,它不会出现在用户的Photos应用程序中(对用户不太友好)。
<a download="myImage.png" href="data:image/png;base64,[base64-data-here]">Click me</a>发布于 2022-03-22 21:21:37
我发现了问题。长时间点击html img元素按预期工作。问题是我不小心使用了画布元素,而不是图像元素。这就是我如何将画布元素转换为图像元素的方式:
var canvas_data = canvas.toDataURL();
var img_element = document.createElement("img")
img_element.src = canvas_data;
document.body.appendChild(img_element);https://stackoverflow.com/questions/71566612
复制相似问题