如题,用了下面的代码来防止还是不行。
//通用阻止事件冒泡方法
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;
}
![]() | 1 Septembers 2015-09-03 20:08:41 +08:00 via Android 作为背景展现 |
![]() | 2 Shared 2015-09-03 20:10:04 +08:00 放一个透明的层在前面, Flickr 原来就是这么弄的 |
![]() | 3 ytjfmv 2015-09-03 20:15:41 +08:00 没什么意义,只会让用户降低好感度 |
![]() | 4 des 2015-09-03 20:34:29 +08:00 如果是为了防止用户保存图片那还是算了,用户表示我们可以截图 |
img src="https://cdn.v2ex.com/avatar/cce1/1950/45254_normal.png?m=1735564150" class="avatar" border="0" align="default" alt="learnshare" data-uid="45254" /> | 6 learnshare 2015-09-03 21:12:00 +08:00 确实意义不大 |
![]() | 7 FrankFang128 2015-09-03 21:18:02 +08:00 via Android 没用 |
![]() | 8 rwalle 2015-09-03 21:37:06 +08:00 如果用户选择在浏览器中打开呢? |
9 ChiChou 2015-09-03 21:52:24 +08:00 用 div 和 background-image ? 首先 new Image () , onload 获得图片宽高,丢弃这个 image 对象,然后创建一个 div, style="background:XXXX" 依然防止不了截图党 |
![]() | 10 nealv2ex 2015-09-03 22:01:04 +08:00 via iPhone ![]() -webkit-touch-callout google 移动端 图片 保存 |
11 L3au 2015-09-03 22:02:08 +08:00 img { pointer-events: none; } |
![]() | 16 loading 2015-09-03 22:18:12 +08:00 via iPhone react-canvas |
![]() | 17 mogita 2015-09-03 22:21:47 +08:00 切碎了拼图。啥图片啊给看还不让存。。 |
![]() | 18 OpooPages 2015-09-03 22:23:44 +08:00 via Android 为了保护图片? |
![]() | 22 xxppxiaowei 2015-09-03 22:52:25 +08:00 用背景图呀。 |
![]() | 23 Ricoo OP @des 1 、操作不直观,有提示如何操作 2 、为什么需要,微信上录音功能是如此的,不希望又培养用户另一个使用习惯,成本高,而且还是用户已经用习惯微信录音功能的基础上,毕竟微信上录音功能用得还是蛮顺手的。 |
![]() | 24 sneezry 2015-09-04 02:43:12 +08:00 via iPhone 背景图片是王道 |
![]() | 25 liujiangbei 2015-09-04 07:37:31 +08:00 via iPad 逆天而行 |
![]() | 26 Ricoo OP 图片添加了事件,所以不好用背景图 |