jquery - 限制图像使用

标签 jquery image dom-manipulation

我发现了多种防止图像被盗的方法。

目前我坚持使用这个(基于 jQuery):

$('img').bind('contextmenu', function(e) {
    return false;
}); 

这会禁用图像上的上下文菜单。

我现在能想到的解决方案有2个,但不知道这是否是一个好方法:

通过检查源代码防止窃取:
也许有一个解决方案可以加载图像但不会将链接保留在源代码中?
我想到了一个空图像标签,它的源代码加载了 jQuery。

通过检查网络(从开发工具)防止窃取:
也许图像可以作为 Base64 加密图像加载?
例如:我的页面请求文件base64.php?i=flowers.jpg,此页面返回flowers.jpg作为base64图像。

你对此有何看法?

最佳答案

关于网站上媒体的第一条规则:您可以看到的内容,您可以下载...

如果您想禁用图像的上下文菜单,则不需要 jQuery。

使用 <img oncontextmenu="return false;" src="" /> 可以轻松完成此操作

示例:http://jsfiddle.net/GpJbU/

如果你真的想使用 jQuery,你可以使用:

$('img').on('contextmenu', function(e) {
    return false;
});

$('img').on('mousedown', function(e){ 
    if( e.button == 2 ) {
      return false; 
    }
}); 

示例:http://jsfiddle.net/sPdn6/

编辑

使用 base64 包括阻止上下文菜单,您可以查看以下示例:http://jsfiddle.net/WfFxb但是,如果您按 F12(开发人员工具)并检查“网络”选项卡,您仍然可以下载此图像。心想,这对于新手来说是很难的。

关于jquery - 限制图像使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19421285/

相关文章:

jQuery 模板引擎

javascript - 如何隐藏具有给定类的所有元素的父元素,但父元素也具有特定类?

javascript - 用于桌面和触摸设备的图像裁剪库

android - 如何在 Android 中使用 ScriptIntrinsicConvolve5x5?

Javascript 对于 DOM 操作来说太快了?

jquery - 使用 jQuery 即时创建标签

javascript - jQuery 更改项目的多个类名之一

javascript - 使用 NG-Repeat 的 AngularJS 显示/隐藏切换

html - 如何使用 css 重新定位具有线性渐变的图像?

javascript - 使用 jQuery 获取数据属性值列表