微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

拒绝图片保存的Javascript

如何解决拒绝图片保存的Javascript

| 我需要一个有效的脚本来禁止用户在其计算机上保存图像。 (是否只能通过禁用右键单击来实现?) 是的,我知道这是不可能的,是的,我知道这是一种不良做法。 是的,我也知道我是个白痴。但是我出于某些特定目的需要此解决方案。 谢谢!     

解决方法

        您可以尝试将所有
<img>
元素替换为具有相同大小的
<div>
元素,并将图像用作背景:
$(\'img\').each(function() {
    var $img = $(this);
    var $div = $(\'<div>\').css({
        width:           $img.width(),height:          $img.height(),backgroundImage: \'url(\' + $img.attr(\'src\') + \')\',display:         \'inline-block\'
    });
    $img.after($div).remove();
});
我之所以使用jQuery,是因为在原始JavaScript中,像这样的DOM操作有点噩梦(而且这不是免费的代码编写服务)。这不会阻止任何人,但会阻止他们将图像拖出页面或从上下文菜单中执行“另存为...”。如果您的用户禁用JavaScript,这种事情也不会做任何事情。 示例:http://jsfiddle.net/ambiguous/4Hca3/ 我将把它翻译成您用作练习的任何JavaScript库(如果有)。 您可以尝试禁用上下文菜单,但并非所有浏览器(例如Firefox)都将注意这种情况。     ,        唯一可行的方法可能是对Flash文件或其他内容中的图像进行加密,但是无论您花多少时间跳到篮球上,用户仍然可以只按printscreen。甚至没有理由尝试这样做。     ,        http://javascript.about.com/library/blnoright.htm
<body oncontextmenu=\"return false;\"> 
要么...
document.body.oncontextmenu = function(){
    return false;
}
http://jsfiddle.net/EEMsm/     ,        一种使人更难的非js方法是,将绝对png / gif的绝对位置和大小确定在您想通过右键单击难以下载的任何内容的上方,并设置大小。当他们尝试保存图像时,只会得到清晰的图像。 编辑 我刚刚看到了与此相关的问题 Flickr如何阻止人们从站点下载图像?     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。