JS禁止右键查看源码,禁止复制,复制内容到剪切板

  

  有时候我们希望自己的网页源码不被查看,这时需要关掉鼠标的右击事件;有时候我们也希望禁止选择页面内容Ctrl+C复制。

1.禁止右键查看源码;

<script>
    //设置右键事件
    function noMenuOne() {
        alert('禁止右键菜单!');
        return false;
    }
    document.oncontextmenu = noMenuOne</script>

第二种方法:

<script>
    //当用户按下鼠标按钮触发
    function noMenu2() {
        if(event.button == 2) {
            alert('禁止右键菜单!');
            return false;
        }
    }
    document.onmousedown = noMenu2;
</script>

2.禁止复制页面内容

    <body oncopy="alert('禁止复制');return false;">
        标题XXX
        <!-- 1. Define some markup -->
        <input type="text" id="name" />
        <button class="btn">Copy</button>
    </body>

3.复制内容到剪切板

需要clipboard.min.js插件库,也不支持IE8,如果有需求需要自己写IE8的,针对IE浏览器来说, 实现起来就很简单, 因为直接有clipboardData 的对象可以使用。

<script src="js/clipboard.min.js"></script>
    <body>
        标题XXX
        <!-- 1. Define some markup -->
        <input type="text" id="name" />
        <button class="btn">Copy</button>
    </body>
................

<script>
    /*不支持IE8,IE8以上的可以*/
    var clipboard = new ClipboardJS('.btn', {
        text: function() { //返回的值是复制到剪切板的内容
            return $("#name").val();
        }
    });
</script>

其实clipboard 也可以直接绑定获取某个元素的值,更多的参考github上的demo,github地址:https://github.com/zenorocha/clipboard.js

  还有好多其他的方法,有需要的时候再查吧。

原文地址:https://www.cnblogs.com/qlqwjy/p/9859199.html