您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
开源破解一些网站的禁止复制,免登录/vip复制
- // ==UserScript==
- // @name copy
- // @namespace http://quhou.top/
- // @version 2024-11-04/1
- // @description 开源破解一些网站的禁止复制,免登录/vip复制
- // @author xygodcyx
- // @match https://blog.csdn.net/*/article/details/*
- // @icon https://www.google.com/s2/favicons?sz=64&domain=csdn.net
- // @grant none
- // @license MIT
- // ==/UserScript==
- (function () {
- 'use strict';
- if (!navigator || !navigator.clipboard) {
- console.warn("对不起,您的浏览器不支持破解复制,请更换新版的浏览器。------来自 破解禁止复制 插件")
- return
- }
- let copyBtn = document.createElement("button")
- let x = 0
- let y = 0
- window.addEventListener("mouseup", function () {
- if (selectText) {
- showCopyBtn()
- }
- })
- window.addEventListener("mousemove", function (e) {
- x = e.clientX
- y = e.clientY
- })
- window.addEventListener("mousedown", function (e) {
- const target = e.target
- if (target !== copyBtn) {
- hideCopyBtn()
- }
- })
- function showCopyBtn(e) {
- copyBtn.style.left = x + 30 + "px"
- copyBtn.style.top = y - 30 + "px"
- copyBtn.style.visibility = "visible"
- }
- function hideCopyBtn() {
- copyBtn.style.visibility = "hidden"
- }
- // Your code here...
- window.addEventListener("load", function (e) {
- copyBtn.style.padding = "5px"
- copyBtn.style.fontSize = "22px"
- copyBtn.style.color = "#000"
- copyBtn.style.backgroundColor = "#F5F5F5"
- copyBtn.style.border = "0"
- copyBtn.textContent = "复制"
- copyBtn.style.position = "fixed"
- copyBtn.style.zIndex = "99999999"
- copyBtn.style.cursor = "pointer"
- copyBtn.addEventListener("click", function () {
- hideCopyBtn()
- setCopyText()
- })
- hideCopyBtn()
- document.body.append(copyBtn)
- })
- let selectText = ""
- document.addEventListener("selectionchange", function (e) {
- selectText = document.getSelection().toString().trim()
- if (selectText === "") return
- })
- document.addEventListener("selectstart", function () {
- })
- document.addEventListener("select", function () {
- })
- function setCopyText() {
- navigator.clipboard.writeText(selectText).then(res => {
- showSuccess()
- }).catch(() => {
- showError()
- }).finally(()=>{
- selectText = ""
- })
- }
- function showSuccess() {
- showText("#B2F2BB", "复制成功")
- }
- function showError() {
- showText("#FFABAB", "复制失败")
- }
- /**
- * @param {string} bg
- * @param {string} text
- * */
- function showText(bg, text) {
- const textDom = document.createElement("p")
- textDom.style.padding = "5px"
- textDom.style.fontSize = "16px"
- textDom.textContent = text
- textDom.style.color = "#FFF"
- textDom.style.position = "fixed"
- textDom.style.left = x + "px"
- textDom.style.top = y + "px"
- textDom.style.backgroundColor = bg
- textDom.style.zIndex = "99999999"
- document.body.append(textDom)
- const interval = setInterval(() => {
- let y = textDom.style.top.slice(0, -2)
- y -= 2
- textDom.style.top = y + "px"
- }, 16)
- const timeout = setTimeout(() => {
- textDom.remove()
- clearInterval(interval)
- clearTimeout(timeout)
- }, 16 * 40)
- }
- })();