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

2015-09-03 20:02:12 +08:00
 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;
}

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

依然防止不了截图党
nealv2ex
2015-09-03 22:01:04 +08:00
-webkit-touch-callout

google 移动端 图片 保存
L3au
2015-09-03 22:02:08 +08:00
img {
pointer-events: none;
}
Ricoo
2015-09-03 22:09:22 +08:00
@ytjfmv 是在图片上添加了长按的事件,然后老是会出现保存的现象,用户体验很不好,不是为了防止保存图片哦
Ricoo
2015-09-03 22:09:54 +08:00
@des 不是防止截图,是事件冲突
des
2015-09-03 22:14:31 +08:00
@Ricoo 我觉得你可以改成别的,毕竟长按算是系统的功能。或者就直接弄成背景
des
2015-09-03 22:17:34 +08:00
@Ricoo 改成双击或者直接加按钮都比这个要好,为什么非要用长按呢?
loading
2015-09-03 22:18:12 +08:00
react-canvas
ck65
2015-09-03 22:21:47 +08:00
切碎了拼图。啥图片啊给看还不让存。。
OpooPages
2015-09-03 22:23:44 +08:00
为了保护图片?
Ricoo
2015-09-03 22:24:26 +08:00
Ricoo
2015-09-03 22:25:58 +08:00
@des 客户需要,长按录音功能

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

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

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

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

© 2021 V2EX