ios 微信上如何通过 js 禁止长按保存图片事件

2015 年 9 月 3 日
 Ricoo

如题,用了下面的代码来防止还是不行。
//通用阻止事件冒泡方法
function stopBubble (e ){

// 如果传入了事件对象,那么就是非 ie 浏览器
if (e&&e.stopPropagation ){
//因此它支持 W3C 的 stopPropagation ()方法
e.stopPropagation ();
}else{
//否则我们使用 ie 的方法来取消事件冒泡
window.event.cancelBubble = true;
}
}

//阻止浏览器的默认行为
function stopDefault ( e ) {

//阻止默认浏览器动作(W3C )
if ( e && e.preventDefault )
e.preventDefault ();
//IE 中阻止函数器默认动作的方式
else
window.event.returnValue = false;
return false;
}

16894 次点击
所在节点    JavaScript
26 条回复
Septembers
2015 年 9 月 3 日
作为背景展现
Shared
2015 年 9 月 3 日
放一个透明的层在前面, Flickr 原来就是这么弄的
ytjfmv
2015 年 9 月 3 日
没什么意义,只会让用户降低好感度
des
2015 年 9 月 3 日
如果是为了防止用户保存图片那还是算了,用户表示我们可以截图
ferock
2015 年 9 月 3 日
@des
learnshare
2015 年 9 月 3 日
确实意义不大
FrankFang128
2015 年 9 月 3 日
没用
rwalle
2015 年 9 月 3 日
如果用户选择在浏览器中打开呢?
ChiChou
2015 年 9 月 3 日
用 div 和 background-image ?
首先 new Image () , onload 获得图片宽高,丢弃这个 image 对象,然后创建一个 div, style="background:XXXX"

依然防止不了截图党
nealv2ex
2015 年 9 月 3 日
-webkit-touch-callout

google 移动端 图片 保存
L3au
2015 年 9 月 3 日
img {
pointer-events: none;
}
Ricoo
2015 年 9 月 3 日
@ytjfmv 是在图片上添加了长按的事件,然后老是会出现保存的现象,用户体验很不好,不是为了防止保存图片哦
Ricoo
2015 年 9 月 3 日
@des 不是防止截图,是事件冲突
des
2015 年 9 月 3 日
@Ricoo 我觉得你可以改成别的,毕竟长按算是系统的功能。或者就直接弄成背景
des
2015 年 9 月 3 日
@Ricoo 改成双击或者直接加按钮都比这个要好,为什么非要用长按呢?
loading
2015 年 9 月 3 日
react-canvas
mogita
2015 年 9 月 3 日
切碎了拼图。啥图片啊给看还不让存。。
OpooPages
2015 年 9 月 3 日
为了保护图片?
Ricoo
2015 年 9 月 3 日
Ricoo
2015 年 9 月 3 日
@des 客户需要,长按录音功能

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/218110

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX