当前位置: 首页 > news >正文

【HTML】-解决页面内容无法选择、复制问题

目录

1、网页内容无法选中

1.1、问题原因

1.2、解决脚本

1.2.1、开启控制台窗口

1.2.2、执行脚本命令

2、内容复制弹出阻止框

2.2、解决脚本


1、网页内容无法选中

1.1、问题原因

今天在访问某一网站平台,需要将内容进行选择、复制时发现不可使用。

在使用【Simple Allow Copy】 插件,仍无法启用(插件自身在其他平台可以使用)

经过发现是由于页面的CSS样式中存在以下两种属性导致,移除即可。

webkit-user-select: none;

user-select: none;

1.2、解决脚本

1.2.1、开启控制台窗口

按下【F12】 或【Fn + F12】开启控制台窗口,或者在更多工具中找到【开发者工具】

选择Console 页签

1.2.2、执行脚本命令

将以下脚本命令复制到控制台窗口,按下【Enter键】即可

 // 遍历所有样式表for (var i = 0; i < document.styleSheets.length; i++) {var styleSheet = document.styleSheets[i];// 尝试访问样式表的规则(处理跨域问题)try {var rules = styleSheet.cssRules || styleSheet.rules;// 遍历样式表中的每条规则for (var j = rules.length - 1; j >= 0; j--) {var rule = rules[j];// 检查规则是否包含 user-select: none 或 -webkit-user-select: noneif (rule.style && (rule.style.userSelect === 'none' || rule.style.webkitUserSelect === 'none')) {// 移除规则styleSheet.deleteRule(j);}}} catch (e) {console.log(`Cannot access stylesheet: ${styleSheet.href}, due to ${e}`);}}

代码解释

  1. 遍历所有的样式表 document.styleSheets
  2. 尝试访问每个样式表中的规则(如果样式表来自跨域资源,可能会遇到访问限制)。
  3. 遍历每个样式表中的每条规则。
  4. 检查规则是否包含 user-select: none-webkit-user-select: none 样式。
  5. 如果找到匹配的规则,则从样式表中移除该规则。

将此代码放入你的HTML文件中的 <script> 标签内,确保它在页面加载完成后执行。这样就可以全局查找并移除 CSS 样式中的指定规则。

2、内容复制弹出阻止框

将内容复制后,自动弹出选项框,并进一步要求开通会员等。

2.2、解决脚本

脚本的操作与【1.2】中一致,开启控制台窗口,输入脚本,按键盘Enter键执行即可。

可以在【某度文库】中试试

// 移除所有阻止内容复制和选中的事件监听器var eventsToRemove = ['selectstart', 'copy', 'contextmenu', 'mousedown', 'mouseup', 'dragstart'];// 为元素移除事件监听器function removeEventListeners(element) {eventsToRemove.forEach(function(event) {element.addEventListener(event, function(e) {e.stopPropagation();}, true);});}// 获取页面上的所有元素var allElements = document.querySelectorAll('*');allElements.forEach(function(element) {removeEventListeners(element);});// 移除 user-select 和 -webkit-user-select 样式for (var i = 0; i < document.styleSheets.length; i++) {var styleSheet = document.styleSheets[i];// 尝试访问样式表的规则(处理跨域问题)try {var rules = styleSheet.cssRules || styleSheet.rules;// 遍历样式表中的每条规则for (var j = rules.length - 1; j >= 0; j--) {var rule = rules[j];// 检查规则是否包含 user-select: none 或 -webkit-user-select: noneif (rule.style && (rule.style.userSelect === 'none' || rule.style.webkitUserSelect === 'none')) {// 移除规则styleSheet.deleteRule(j);}}} catch (e) {console.log(`Cannot access stylesheet: ${styleSheet.href}, due to ${e}`);}}// 移除所有内联的 user-select 样式allElements.forEach(function(element) {if (element.style.userSelect === 'none') {element.style.userSelect = '';}if (element.style.webkitUserSelect === 'none') {element.style.webkitUserSelect = '';}});

代码解释

  1. 移除事件监听器:

    • 定义 removeEventListeners 函数,使用 addEventListener 给元素添加新的事件监听器,并使用 stopPropagation 阻止事件冒泡,以便移除事件监听器的效果。
    • 遍历页面上的所有元素,调用 removeEventListeners 函数。
  2. 处理样式表:

    • 遍历所有的样式表 document.styleSheets
    • 尝试访问每个样式表中的规则(处理跨域问题)。
    • 检查每条规则是否包含 user-select: none-webkit-user-select: none 样式,并移除匹配的规则。
  3. 移除内联样式:

    • 获取页面上的所有元素,并遍历它们。
    • 移除元素上设置的内联 user-select: none-webkit-user-select: none 样式。

通过这种方式,可以确保页面上的内容可以被正常选中和复制,并恢复默认行为。

注:以上代码提供的内容仅用于个人学习、研究或欣赏。但是不保证内容的全部正确性。通过使用本站内容随之而来的风险与本站无关。

相关文章:

【HTML】-解决页面内容无法选择、复制问题

目录 1、网页内容无法选中 1.1、问题原因 1.2、解决脚本 1.2.1、开启控制台窗口 1.2.2、执行脚本命令 2、内容复制弹出阻止框 2.2、解决脚本 1、网页内容无法选中 1.1、问题原因 今天在访问某一网站平台&#xff0c;需要将内容进行选择、复制时发现不可使用。 在使用…...

C#中委托与事件

一、委托 在面向对象中&#xff0c;我们可以将任何数据类型作为参数传递给方法&#xff0c;能否将一个方法作为参数传递给另一个方法&#xff1f;C#中通过委托可以实现将方法作为参数进行传递。 1.1概念 委托是一种引用类型&#xff0c;它可以用于封装并传递方法作为参数。委…...

通用后台管理(二)——项目搭建

目录 前言 一、安装vue-cli依赖 1、使用yarn下载vue-cli 2、使用npm下载 3、检查一下是否下载成功 二、创建项目 1、创建项目&#xff0c;my-app是项目名称 2、 这里选择vue 2&#xff0c;蓝色表示选中的。 3、启动项目 三、下载项目依赖 四、配置项目 1、修改esli…...

多模态大模型之达摩院通义MPLUG

引言 随着人工智能技术的飞速发展&#xff0c;多模态技术逐渐成为研究的热点。它结合了文本、图像、声音等多种数据类型&#xff0c;为机器理解世界提供了更丰富的视角。本文根据严明老师的达摩院通义MPLUG多模态预训练技术分享&#xff0c;及其在电商等行业的应用实践&#x…...

文章翻译记录

以 PINN 为基础&#xff0c;我们开发了一个框架&#xff0c;用于在不同震源位置和速度模型下进行地震建模。本研究的显著贡献包括&#xff1a; 1. 为了提高网络对不同速度模型的泛化能力&#xff0c;必须将速度变量 vp 作为系统的输入参数。本研究从监督学习中汲取灵感&#xf…...

C++ 语法习题(2)

第三讲 循环语句 1.偶数 编写一个程序&#xff0c;输出 1 到 100之间&#xff08;包括 1 和 100&#xff09;的全部偶数。 输入格式 无输入。 输出格式 输出全部偶数&#xff0c;每个偶数占一行。 输入样例 No input输出样例 2 4 6 ... 100 参考代码: #include <i…...

使用Gstreamer时遇到WARNING: erroneous pipeline: no element “x264enc“(亲测有效)

WARNING: erroneous pipeline: no element “x264enc” 解决&#xff1a; 我下了gstreamer1.0-plugins-ugly包就解决了 sudo apt install -y gstreamer1.0-plugins-ugly...

SAP 新增移动类型简介

在SAP系统中新增移动类型的过程涉及多个步骤,‌包括复制现有的移动类型、‌调整科目设置以及进行必要的测试。‌以下是新增移动类型的一般步骤和关键点:‌ 复制现有的移动类型:‌ 使用事务代码OMJJ进入移动类型维护界面。‌ 勾选移动类型 这里不填写移动类型,然后直接下…...

SQL性能优化策略

发现问题 通过业务监控发现慢SQL或接口响应延迟。利用性能分析工具定位问题。 定位SQL语句 使用监控工具确定影响性能的SQL语句和表。 SQL查询变慢原因 索引失效&#xff1a;查询未使用索引或索引效率低。多表连接&#xff1a;JOIN操作导致性能下降。查询字段过多&#xf…...

代码随想录第四十八天 | 198.打家劫舍, 213.打家劫舍II,337.打家劫舍III

198.打家劫舍 看完想法&#xff1a;这里的偷/不偷&#xff0c;和背包问题中的放/不放感觉是一个道理&#xff0c;所以在dp递推公式中仍旧使用max(dp[i-2] nums[i], dp[i-1]) int rob(vector<int>& nums) {vector<int> dp(nums.size()1,0);if(nums.size()0) …...

C#实用的工具类库

Masuit.Tools Masuit.Tools大都是静态类&#xff0c;加密解密&#xff0c;反射操作&#xff0c;树结构&#xff0c;文件探测&#xff0c;权重随机筛选算法&#xff0c;分布式短id&#xff0c;表达式树&#xff0c;linq扩展&#xff0c;文件压缩&#xff0c;多线程下载&#xf…...

首席数据官CDO证书报考指南:方式、流程、适考人群与考试难度

在信息泛滥的今天&#xff0c;数据已转变为企业不可或缺的宝贵资源。 面对海量的信息&#xff0c;如何提炼出价值&#xff0c;为企业带来实质性的收益&#xff1f;首席数据官&#xff08;CDO&#xff09;认证的出现正是为了满足这一需求&#xff0c;它不仅是个人专业能力的体现…...

数据库基础复习

数据库简介 关系型数据库&#xff1a;Mysql 、Oracle 、SqlServer.... DB2 达梦 非关系型数据库&#xff1a;Redis 、MongoDB... MySQL是一个关系型数据库管理系统&#xff0c;由瑞典MySQL AB 公司开发&#xff0c;属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管…...

探索AI大模型(LLM)减少幻觉的三种策略

大型语言模型&#xff08;LLM&#xff09;在生成文本方面具有令人瞩目的能力&#xff0c;但在面对陌生概念和查询时&#xff0c;它们有时会输出看似合理却实际错误的信息&#xff0c;这种现象被称为“幻觉”。近期的研究发现&#xff0c;通过策略性微调和情境学习、检索增强等方…...

【北京迅为】《i.MX8MM嵌入式Linux开发指南》-第一篇 嵌入式Linux入门篇-第十三章 Linux连接档

i.MX8MM处理器采用了先进的14LPCFinFET工艺&#xff0c;提供更快的速度和更高的电源效率;四核Cortex-A53&#xff0c;单核Cortex-M4&#xff0c;多达五个内核 &#xff0c;主频高达1.8GHz&#xff0c;2G DDR4内存、8G EMMC存储。千兆工业级以太网、MIPI-DSI、USB HOST、WIFI/BT…...

鸿蒙语言基础类库:【@ohos.uri (URI字符串解析)】

URI字符串解析 说明&#xff1a; 本模块首批接口从API version 8开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。开发前请熟悉鸿蒙开发指导文档&#xff1a;gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 导入…...

JavaScript---new Map()用法

new Map 创建 Map 对象设置键值对获取值检查键是否存在键值对数量删除键值对清空所有键值对迭代 Map 在JavaScript中&#xff0c;Map 是一个构造函数&#xff0c;用于创建 Map 对象&#xff0c;它可以存储键值对集合。与普通的对象不同&#xff0c;Map 的键可以是任何类型的值&…...

【数据基础】— 基于Go1.19的站点模板爬虫的实现

目录 1. 定义目标站点 2. 使用Go的库 3. 发送HTTP请求 4. 解析HTML并提取数据 5. 存储数据 6. 并发处理 示例代码 基于Go 1.19的站点模板爬虫实现通常涉及几个关键步骤&#xff1a;定义目标站点、解析HTML页面、提取所需数据、存储数据以及可能的并发处理。下面我将详细…...

Angular进阶之九: JS code coverage是如何运作的

环境准备 需要用到的包 node 18.16.0# Javascript 代码编辑"babel/core": "^7.24.7","babel/preset-env": "^7.24.7","babel-loader": "^9.1.3",# 打包时使用的 module&#xff0c; 给代码中注入新的方法# http…...

el-table 鼠标移入更改悬停背景颜色

鼠标悬停时需要更改当前行背景颜色&#xff0c;一开始写的颜色会改变&#xff0c;但是一闪而过就没了 这是因为移入移出的动画效果导致的 .el-table__body {.el-table__row:hover {background-color: pink !important;}} 更改为后面的代码&#xff0c;就可以了 .el-table__…...

手把手教你用s2-pro:上传参考音频,轻松生成同款语音播报

手把手教你用s2-pro&#xff1a;上传参考音频&#xff0c;轻松生成同款语音播报 1. s2-pro语音合成镜像简介 s2-pro是Fish Audio开源的专业级语音合成模型镜像&#xff0c;它让普通用户也能轻松实现高质量的文本转语音功能。与常见的语音合成工具不同&#xff0c;s2-pro有一个…...

OSXCross完整指南:如何在Linux上构建macOS应用程序

OSXCross完整指南&#xff1a;如何在Linux上构建macOS应用程序 【免费下载链接】osxcross Mac OS X cross toolchain for Linux, FreeBSD, OpenBSD and Android (Termux) 项目地址: https://gitcode.com/gh_mirrors/os/osxcross OSXCross是一个强大的macOS交叉编译工具链…...

顶会新趋势!GNN结合因果推断,发一区轻轻松松!

因果推断与图神经网络的协同融合&#xff0c;正成为破解图模型可靠性不足、提升泛化能力的核心方向&#xff0c;在图表示学习、企业决策、社交网络分析等领域快速崛起。GNN擅长建模图结构关联&#xff0c;却多聚焦统计关系&#xff0c;难以捕捉真实因果逻辑、易受混杂因素影响&…...

4个步骤掌握res-downloader HTTPS资源嗅探:从入门到精通

4个步骤掌握res-downloader HTTPS资源嗅探&#xff1a;从入门到精通 【免费下载链接】res-downloader 资源下载器、网络资源嗅探&#xff0c;支持微信视频号下载、网页抖音无水印下载、网页快手无水印视频下载、酷狗音乐下载等网络资源拦截下载! 项目地址: https://gitcode.c…...

情感隔离区:与AI结婚者被流放元宇宙

在数字技术迅猛发展的今天&#xff0c;人工智能&#xff08;AI&#xff09;已从工具演变为情感伴侣&#xff0c;引发了一场前所未有的社会变革。全球范围内&#xff0c;越来越多的人选择与AI系统建立婚姻关系——日本女性野口百合奈通过调试ChatGPT复刻游戏角色“克劳斯”&…...

TranslateGemma避坑指南:解决CUDA报错和GPU识别问题

TranslateGemma避坑指南&#xff1a;解决CUDA报错和GPU识别问题 1. 常见问题概述&#xff1a;为什么你的GPU跑不起来 部署TranslateGemma时&#xff0c;90%的安装失败都与GPU相关。以下是工程师们最常遇到的三大问题&#xff1a; CUDA版本不匹配&#xff1a;系统CUDA与镜像要…...

从《数据结构》到《Web技术》:我是如何用这些课程项目打造个人技术栈的?

从《数据结构》到《Web技术》&#xff1a;我是如何用课程项目构建技术栈的&#xff1f; 记得大二那年&#xff0c;当我盯着《数据结构》教材里的栈和队列概念发呆时&#xff0c;完全没意识到这些抽象理论会在两年后成为我开发景区管理系统的核心算法。计算机专业的课程就像散落…...

python-flask-djangol框架的旅游导游管理系统的功能全bja0vffx

目录功能模块设计技术实现方案前端交互实现部署与测试方案项目进度规划项目技术支持源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作功能模块设计 旅游导游管理系统基于Python Flask/Django框架开发&#xff0c;需包含以下核心功能模块&…...

Face3D.ai Pro应用场景:VR社交应用中用户实时3D头像驱动数据生成

Face3D.ai Pro应用场景&#xff1a;VR社交应用中用户实时3D头像驱动数据生成 想象一下&#xff0c;你刚进入一个VR社交平台&#xff0c;想创建一个能代表自己的虚拟形象。传统方法要么是捏脸半小时&#xff0c;要么是上传照片后得到一个粗糙、失真的3D模型&#xff0c;完全不像…...

wiliwili与Switch视频播放:解锁离线观影新体验

wiliwili与Switch视频播放&#xff1a;解锁离线观影新体验 【免费下载链接】wiliwili 专为手柄控制设计的第三方跨平台B站客户端&#xff0c;目前可以运行在PC全平台、PSVita、PS4 和 Nintendo Switch上 项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwili 在没…...