网页表格复制器(油猴插件脚本)

网页表格复制器(油猴插件脚本)

测试表格

Column 1Column 2Column 3Column 4
文本居中文本居右文本居左默认
test1-1test1-2test1-3test1-4
test2-1test2-2test2-3test2-4

脚本代码

// ==UserScript==
// @name         网页表格复制器
// @namespace    http://tampermonkey.net/
// @version      0.231130.2
// @description  网页表格复制脚本
// @author       N-cat
// @match        *://*/*
// @icon         data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @downloadURL https://update.greasyfork.org/scripts/481068/%E7%BD%91%E9%A1%B5%E8%A1%A8%E6%A0%BC%E5%A4%8D%E5%88%B6%E5%99%A8.user.js
// @updateURL https://update.greasyfork.org/scripts/481068/%E7%BD%91%E9%A1%B5%E8%A1%A8%E6%A0%BC%E5%A4%8D%E5%88%B6%E5%99%A8.meta.js
// ==/UserScript==(function() {'use strict';// 样式添加const style = `<style>.get{position:fixed;right:80px;bottom:150px;background-color:#00a1d6;color:white;height:50px;width:50px;border-radius: 10px;font-size:15px;border:solid 3px #FA5A57;cursor:pointer;outline: none;z-index: 999;}.alertMessage{position: fixed;top: 30px;left: 40%;right: 40%;padding: 20px 30px;background: rgba(0, 0, 0, 0.8);color: #ffffff;font-size: 20px;text-align: center;z-index: 999;display: none;border-radius:5px;}</style>`;let div = document.createElement("div");div.innerHTML += style;document.body.append(div);// 提示框var alertMessage = document.createElement("div");alertMessage.classList.add('alertMessage');document.body.append(alertMessage);function alertmess(mess) {alertMessage.innerHTML = mess; // 填入要显示的文字alertMessage.style.display = "inline"; // 显示弹框setTimeout(function () { // 倒计时alertMessage.innerHTML = ''; // 清空文本alertMessage.style.display = "none" // 隐藏弹框}, 3000); // 3秒}// 获取按钮var get = document.createElement("input");get.setAttribute("type", "button");get.setAttribute("value", "触发");get.classList.add('get');document.body.append(get);// 获取table标签var getnum = 0 // 0:未(取消)触发 1:已触发let startX = 9999; // 按下坐标let startY = 9999;let endX = 9999; // 鼠标坐标let endY = 9999;get.onclick = function(){var tds = document.querySelectorAll('td');console.log(tds);for(let i of tds){// 文本设置无法选中i.style.userSelect = "none";// 鼠标悬浮在td上时提示i.addEventListener("mousemove", function(){i.style.backgroundColor = 'black';i.style.color = 'white';for(let j of i.children){j.style.color = 'white';}});i.addEventListener("mouseout", function(){i.style.removeProperty("background-color");i.style.removeProperty("color");for(let j of i.children){j.style.removeProperty("color");}});}// 框选变色(还未添加复制功能)window.addEventListener("mousedown", function(e){startX = e.clientX;startY = e.clientY;});window.addEventListener("mousemove", function(e){endX = e.clientX;endY = e.clientY;for(let i of tds){// 获取tr元素的左上角坐标和宽度、高度var rect = i.getBoundingClientRect();var tdleft = rect.left;var tdtop = rect.top;var tdwidth = rect.width;var tdheight = rect.height;console.log("起止坐标", startX, endX, startY, endY);// console.log("td坐标", tdleft, tdtop);if (startX <= tdleft + tdwidth && startY <= tdtop + tdheight && endX >= tdleft && endY >= tdtop) {// 将tr元素的背景色设置为黑色(或其他你想要的颜色)i.style.backgroundColor = 'black';i.style.color = 'white';} else if (startX !== 9999){i.style.removeProperty("background-color");i.style.removeProperty("color");}}});// 抬起鼠标重置window.addEventListener("mouseup", function(e){startX = 9999; // 按下坐标startY = 9999;endX = 9999; // 鼠标坐标endY = 9999;for(let i of tds){i.style.removeProperty("background-color");i.style.removeProperty("color");}});// 点击复制全部execl(基础适配)var tables = document.getElementsByTagName("table");for(let i of tables){i.addEventListener("mousedown", function(){var execl = []var trs = i.getElementsByTagName("tr");for(let j of trs){var row = []var tds = j.getElementsByTagName("td");for(let k of tds){if(k.style.display !== "none"){row.push(k.innerText);}}execl.push(row);}console.log(execl);var csv = ""for(let i of execl){for(let j of i){csv = csv + '"' + "'" + j + '"\t';}csv = csv.slice(0,-1) + "\n";}console.log(csv);// 复制视频名称到剪切板const textarea = document.createElement('textarea');document.body.appendChild(textarea);textarea.innerHTML = csv;textarea.select(); // 选取文本域的内容if (document.execCommand('copy')) {document.execCommand('copy');alertmess("网页表格已复制到剪切板");}document.body.removeChild(textarea);});}alertmess("网页表格复制器开启成功");}
})();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/194184.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LangChain实战】开源模型学习(2)-ChatGLM3

介绍 ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的新一代对话预训练模型。ChatGLM3-6B 是 ChatGLM3 系列中的开源模型&#xff0c;在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上&#xff0c;ChatGLM3-6B 引入了如下特性&#xff1a; 更强大的基础模型&a…

关于业界大语言模型(LLM)开源的一些看法

近期看到阿里开源了720亿参数模型通义千问&#xff0c;已实现“全尺寸、全模态”开源&#xff0c;对这个动作的一些想法&#xff0c;包括好处和缺点 国内大语言模型的开源有许多好处&#xff0c;如下&#xff1a; 1. 提升技术水平&#xff1a;国内大语言模型开源可以使更多的…

Sun Apr 16 00:00:00 CST 2023格式转换

Date date new Date(); log.info("当前时间为:{}",date); //yyyy-MM-dd HH:mm:ss SimpleDateFormat sdf new SimpleDateFormat(DateUtils.YYYY_MM_DD_HH_MM_SS); String dateTime s…

leetCode 51.皇后 + 回溯算法 + 图解 + 笔记

按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上&#xff0c;并且使皇后彼此之间不能相互攻击。给你一个整数 n &#xff0c;返回所有不同的 n 皇后问题 的解决方案。每一种解法包…

SpringBoot MyBatis连接数据库 查询数据(注解方式)

创建项目时选择依赖 配置数据库连接 在resources中的 application.properties 配置文件进行连接的配置 #驱动名称 spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver#连接地址 spring.datasource.urljdbc:mysql://10.20.22.11:26954/canteen#数据库用户名 spring.d…

ios 逆向分分析,某业帮逆向算法(二)

接上讲 上次hook 发现自己的数据有点问题。才发现是自己的编辑器识别出问题了。 上篇sub_1029B6898函数hook数据如下: [iOS Device::作业帮 ]-> arg2: 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF 00000000 37 32 65 64 38 31 32 38…

Docker下搭建MySQL主从复制

目录 主从复制简介 主从复制搭建 主从复制简介 主从复制&#xff0c;是用来建立一个和主数据库完全一样的数据库环境&#xff0c;称为从数据库&#xff0c;主数 据库一般是准实时的业务数据库。 主从复制的作用 做数据的热备。作为后备数据库&#xff0c;主数据库服务器故…

Spring Task 定时任务框架

Spring Task Spring Task 是Spring框架提供的任务调度工具&#xff0c;可以按照约定的时间自动执行某个代码逻辑。 定位&#xff1a;定时任务框架 作用&#xff1a;定时自动执行某段Java代码 Spring Task使用步骤 1). 导入maven坐标 spring-context&#xff08;已存在&#xff…

DLL缺失

DLL缺失 参考链接&#xff1a; 方法五&#xff0c;亲测有用

LeetCode417. Pacific Atlantic Water Flow

文章目录 一、题目二、题解 一、题目 There is an m x n rectangular island that borders both the Pacific Ocean and Atlantic Ocean. The Pacific Ocean touches the island’s left and top edges, and the Atlantic Ocean touches the island’s right and bottom edges…

VLAN实验

题目要求 1.PC1和PC3所在接口为Access接口 2.PC2/4/5/6处于同一网段&#xff0c;其中PC2可以访问PC4/5/6PC4可以访问PC5,但不能访问PC6PC5不能访问PC6 3.PC1/3与PC2/4/5/6不在同一网段 4.所有PC通过DHCP获取IP地址&#xff0c;且PC1/3可以正常访问PC2/4/5/6题目分析 1.将交换…

Spring MVC学习随笔-控制器(Controller)开发详解:控制器跳转与作用域(二)视图模板、静态资源访问

学习视频&#xff1a;孙哥说SpringMVC&#xff1a;结合Thymeleaf&#xff0c;重塑你的MVC世界&#xff01;&#xff5c;前所未有的Web开发探索之旅 衔接上文Spring MVC学习随笔-控制器(Controller)开发详解&#xff1a;控制器跳转与作用域&#xff08;一&#xff09; SpingMVC中…

基于SSM的职业高中智慧作业试题系统设计

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;JSP 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 一、…

Linux 系统渗透提权-Server2204

B-3:Linux 系统渗透提权 任务环境说明: 服务器场景:Server2204(关闭链接) 用户名:hacker 密码:123456 1.使用渗透机对服务器信息收集,并将服务器中 SSH 服务端口号作为 flag 提 交; Flag:2283/tcp

ssh无密码登录

服务器 要求ssh登录服务器不需要密码。 用户目录权限 假设当前用户名是username ls /home 输出如下 drwxr-xr-x 8 username username 4096 Mar 7 10:14 username/ 如果不是类似上面的第一列权限drwxr-xr-x&#xff0c;则需要手动修改权限 chmod 755 ~ 如果第三、四列不是use…

空间注意力:改变我们理解图像的方式

空间注意力&#xff1a;改变我们理解图像的方式 欢迎来到深度学习和计算机视觉的新时代&#xff0c;在这里&#xff0c;空间注意力机制正改变着我们理解和处理图像的方式。本文将深入探讨空间注意力的概念&#xff0c;它如何工作&#xff0c;以及为什么它在现代图像处理技术中…

YOLOv5改进 | 添加ECA注意力机制 + 更换主干网络之ShuffleNetV2

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。本文给大家介绍一种轻量化部署改进方式&#xff0c;即在主干网络中添加ECA注意力机制和更换主干网络之ShuffleNetV2&#xff0c;希望大家学习之后&#xff0c;能够彻底理解其改进流程及方法~&#xff01;&#x1f308; 目…

2023年关于爬取Bilibili(B站)视频的一些最新资源和案例

2023年关于爬取Bilibili&#xff08;B站&#xff09;视频的一些最新资源和案例&#xff1a; Python爬取B站视频教程 &#xff1a;在Bilibili上发布了一个全面的Python教程系列&#xff0c;其中包括了专门关于爬取B站视频的部分。这个系列似乎涵盖了从基础到人工智能等Python主…

个人博客搭建保姆级教程-服务器篇

如果想要直接使用阿里云&#xff0c;将个人博客部署到公网上&#xff0c;可以看下第一部分的服务器选购。如果使用虚拟机的话&#xff0c;直接看第二部分即可。 一、阿里云服务器购买 可以考虑使用推广链接 云服务器ECS省钱攻略 购买&#xff0c; 点击立即购买之后选择 更多配…