pu369com

CSDN未登录禁止复制的解决办法

之前只需要在chrome开发工具中找到包含 -user-select 字样的 style, 删除后就可以复制了

最近csdn好像升级了,一复制就弹出登录模块,在控制台输入  javascript:document.body.contentEditable='true';document.designMode='on';  也无效

终极大法是在控制台或者在地址栏中输入  

javascript:$={}; 

 

补充:后来发现  51cto.com 更狠,阻止了用户操作的默认事件,所以用上述办法也复制不了,找到以下办法 :

(function () {
    function setAllSelect(el = document.body) {
        for (let index = 0; index < el.children.length; index++) {
            const e = el.children.item(index);
            e.style.userSelect = 'text';
            setAllSelect(e);
        }
    }
    setAllSelect();
    document.documentElement.addEventListener('mouseup', e => {
        const pasteText = window.getSelection().toString();
        if (null === pasteText || undefined === pasteText || '' === pasteText.trim()) {
            return;
        }
        navigator.clipboard.writeText(pasteText).then(() => {
            alert("复制成功!");
        }).catch(() => {
            alert("复制失败!");
        });
    });
})();

将上面代码在51cto.com的控制台中运行后,选择后即可自动复制了。有几个限制条件,详细可参考原文:https://blog.csdn.net/xiaomaomixj/article/details/134715066

 重要:此时复制的方法就不是ctrl+c或则鼠标右击复制了,而是用鼠标选中要复制的文字,然后松开鼠标,就成功复制了,无需ctrl+c!无需ctrl+c!无需ctrl+c!

 

 

参考:https://baijiahao.baidu.com/s?id=1698928883038799385&wfr=spider&for=pc

https://blog.csdn.net/xiaomaomixj/article/details/134715066

posted on 2023-05-23 16:52  pu369com  阅读(2062)  评论(0编辑  收藏  举报

导航