在网易Lofter上发现了这款图片版权保护的代码,研究了一下,此代码使用到了jQuery 事件 - delegate() 方法:为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。也可以向尚未创建的元素添加事件处理程序。
当向图片右键点击时,禁用右键,并通过向网页body添加DIV及CSS样式,返回“版权保护”字样,提示未授权者不得复制。效果请点击链 接并在图片上鼠标右击查看,图片版权保护代码如下:
<script>window.Img = {'Protected':true,ContextValue:'版权保护'};</script> <script> (function(){var commonFunc = function() { if (!!window.Img&&!!window.Img.Protected) { $(document).delegate('img', 'contextmenu', function(event){//为所有img元素添加事件; $("#img_protect").remove(); $("<div id='img_protect' oncontextmenu='return false;' style='z-index:99999;color:#fff;position:absolute;background:#000;padding:8px;opacity:.8;filter:alpha(opacity=80);border-radius:3px;'>" + window.Img.ContextValue + "</div>").appendTo("body").css("left", event.pageX).css("top", event.pageY).show().delay(3000).fadeOut('fast');//添加DIV及CSS样式; event.returnValue=false; return false; }); $(document).click(function(event){$("#img_protect").remove();}); $('img').click(function(event){$("#img_protect").remove();}); }}; try {if(!window.jQuery){loadJquery(commonFunc);}else{$(document).ready(commonFunc);}}catch(e){} })(); </script>
使用方法:将以上代码粘贴到需要加载的网页即可,默认对全部图片进行版权保护,定制功能,请自行修改。