chrome插件油猴csdn免登陆整洁复制

2,126 阅读1分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 1 天,点击查看活动详情”

油猴插件先配置后使用,配置在==UserScript==内。关键的几个配置

@name 插件名称。

@version 版本

@description 脚本描述

@author 作者

@match 插件匹配网站。

@icon 插件图标。

@grant 用到的油猴的一些方法。 GM_getValue GM_setValue : 数据持续化。保存数据获取数据 GM_addStyle 添加样式代码 GM_xmlhttpRequest 接口请求 window.onurlchange url变化的回调

@require 用到的一些第三方的库。jquery等。

CSDN 无法复制原因

无法复制

打开F12可以看到之所以不能复制就是加了一个"user-select", "none"从而无法选中,来禁用复制。 改为auto就可以 即

        $("pre,code").css("user-select", "auto");

当然也可以用油猴自带的方法

GM_addStyle(`pre,code{user-select:auto !important}`)

隐藏按钮

但是仍旧有 登陆复制 的按钮显示 隐藏 登陆复制 按钮

        $(".hljs-button").css("display", "none")

选中什么复制内容就是什么

现在很多网站复制后都带尾巴来自用户某某某文章地址xxx之类的。

    copytext = window.getSelection();
    var clipdata = e.clipboardData || window.clipboardData;
    if (clipdata) {
       clipdata.setData('Text', copytext);
    }

完整代码


// ==UserScript==
// @name         CSDN免登陆复制,查看全文,所有网站清爽复制
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  让csdn可以无限制复制,不需要关注作者就可以查看全文,复制内容为选中内容
// @author       you
// @match        *://*.csdn.net/*
// @match        *://*/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant        window.onurlchange
// @grant        GM_getValue
// @grant        GM_setValue
// @grant        GM_xmlhttpRequest
// @require https://code.jquery.com/jquery-2.1.4.min.js

// ==/UserScript==

(function () {
    'use strict';

    function csdnScript() {
        // CSDN可以复制
        $("pre,code").css("user-select", "auto");
        $(".hljs-button").css("display", "none")
        $(".hide-article-box").css("display", "none")
    }
  
    // 所有网站  清爽复制 不带尾巴
    function addLink(e) {
        e.preventDefault();
        var pagelink = '\nRead more: ' + document.location.href
        copytext = window.getSelection();
        var clipdata = e.clipboardData || window.clipboardData;
        if (clipdata) {
            clipdata.setData('Text', copytext);
        }
    }
    // 监听用户复制的回调方法。
    document.addEventListener('copy', addLink);
    if (window.location.href.indexOf('csdn') !== -1) {
        csdnScript()
    }
    if (window.onurlchange === null) {
        window.addEventListener('urlchange', (info) => {
            if(info.url.indexOf('juejin.cn') !== -1) {
                juejinSign()
            }
        });
    }
})();

开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 1 天,点击查看活动详情”