实用脚本分享:一键实现网页文字可编辑功能

实用脚本分享:一键实现网页文字可编辑功能

文章目录
文章目录
  1. 🐵 油猴(Tampermonkey)
  2. 📜 一键开关网页编辑脚本
  3. 🧪 网页编辑脚本使用示例
  4. 🔚 写在最后

前阵子工作需要做一份英语展示的 PPT,除了要翻译巨量的文字资料,还要处理里面夹杂的图片、动画,让人头大。而我们的软件 DEMO 演示只有中文版,如何将动态的网页快速截取、录制成英文材料成了最大的难题。

好在我经常倒腾 WordPress,熟悉浏览器开发者工具,知道可以按 Ctrl + Shift + C 打开元素选择器,手动修改网页文字,但即便如此效率依然很慢。但无奈,我也只能这样,一口气肝了十几个小时才搞定,老腰都快断了😭。

过了一段时间,我才发现可以直接往浏览器控制台里写脚本,直接实现网页文字的编辑功能。此后我又把它封装成了油猴脚本,绑定了快捷键,现如今已测试稳定了,分享给大家,希望能用的上。

🐵 油猴(Tampermonkey)

不会有人不知道油猴(Tampermonkey)吧…?Tampermonkey 是一款功能强大的浏览器扩展,支持在网页上运行自定义 JavaScript 脚本。它的作用是让用户根据自己的需求“定制”网页行为,比如屏蔽广告、自动填表、批量下载、修改界面元素等,极大地提升了网页使用效率与自由度。

实用脚本分享:一键实现网页文字可编辑功能
当前时间,Greasy Fork 上最受欢迎的脚本

对开发者和进阶用户来说,Tampermonkey 更像是一个轻量级的网页自动化平台。只要写好脚本,就能实现很多原本需要手动完成的操作。而且它支持跨网站通配、自定义快捷键、权限控制等功能,用起来既灵活又强大。

📜 一键开关网页编辑脚本

本文 Kevin 分享的这个油猴(Tampermonkey)脚本的核心功能 & 安装方法如下:

  1. 脚本主要功能
    • 关闭编辑后,自动清理事件监听器与状态
    • 页面上的段落、标题、列表、表格等常见元素都可以被点击编辑
    • 自动移除默认的点击边框样式
  2. 脚本安装简介
    • 浏览器安装 Tampermonkey 扩展
    • 点击扩展-新建脚本,把以下代码粘贴进去保存即可:
// ==UserScript==
// @name         可编辑文字快捷启用与关闭
// @namespace    https://www.shephe.com/
// @version      1.1
// @description  Ctrl+Shift+E 开关页面文字编辑功能,点击元素后可编辑文字,再次按关闭,避免边框和全选
// @match        *://*/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    let isEnabled = false;
    let cleanupFns = [];

    document.addEventListener('keydown', function(e) {
        if (e.ctrlKey && e.shiftKey && e.key.toLowerCase() === 'e') {
            isEnabled = !isEnabled;
            if (isEnabled) {
                enableEditing();
                console.log('[已启用] 可编辑文字');
            } else {
                disableEditing();
                console.log('[已关闭] 可编辑文字');
            }
        }
    });

    function enableEditing() {
        const elements = document.querySelectorAll('p, span, div, a, h1, h2, h3, h4, h5, h6, li, td');

        elements.forEach(el => {
            el.style.userSelect = 'text';
            el.style.outline = 'none'; // 避免编辑边框
            const clickHandler = (e) => {
                e.preventDefault();
                e.stopPropagation();
                if (el.isContentEditable) return;
                el.contentEditable = true;
                el.focus();
                // ❌ 不再自动全选
            };
            const blurHandler = () => {
                if (isEnabled) return; // 若处于启用状态,失焦不取消编辑
                el.contentEditable = false;
            };
            el.addEventListener('click', clickHandler, true);
            el.addEventListener('blur', blurHandler);
            // 回车不再取消编辑状态(移除原逻辑)

            // 保存清理函数
            cleanupFns.push(() => {
                el.removeEventListener('click', clickHandler, true);
                el.removeEventListener('blur', blurHandler);
                el.contentEditable = false;
            });
        });
    }

    function disableEditing() {
        // 调用所有解绑函数
        cleanupFns.forEach(fn => fn());
        cleanupFns = [];
    }

})();

🧪 网页编辑脚本使用示例

这个脚本特别适合在多个场景中使用,比如页面文案的预览与校对、教学演示中临时修改内容、Mock 数据展示,或者在交互设计中快速替换文本进行视觉模拟,都能大大提升效率,减少繁琐操作。

一个实际的演示视频,大概 15 秒的时候我按了快捷键

实际使用时打开任意网页,按下 Ctrl + Shift + E

  • 页面中的文字内容立即可编辑;
  • 点击任意段落或标题即可修改;
  • 不需要开发者工具;
  • 再按一次快捷键即可关闭,状态自动恢复。

🔚 写在最后

这段脚本其实还可以进一步限定作用域,比如只在特定域名启用,以减少资源消耗——虽然目前影响也很小。正是这些灵活的小工具,让日常工作变得更高效也更有趣。你有啥有用有趣的脚本分享没?😉

「实用脚本分享:一键实现网页文字可编辑功能」有 11 条评论
  • 八字起名
    05/29/2025 at 17:23 回复

    尼玛,这个功能太实用了

  • 西风
    05/23/2025 at 17:54 回复

    chrome浏览器有一句脚本直接可以编辑很方便 需要的话发给你 直接当成网站收藏点击就很方便

    • 的头像
      Kevin
      05/24/2025 at 08:13 回复

      你这么一说我还真有点儿印象,以前流行做成收藏夹的链接,不过我习惯隐藏书签栏
      按快捷键比较舒服

  • S
    05/23/2025 at 15:24 回复

    真不错,优秀

  • 的头像
    acevs
    05/23/2025 at 14:39 回复

    这个方法不错。

  • 陈大猫
    05/23/2025 at 10:44 回复

    好东西。正准备复制使用,结果,需要付费?

    • 的头像
      Kevin
      05/23/2025 at 10:57 回复

      默认开启的,已关闭本文付费功能

      • 陈大猫
        05/23/2025 at 11:03 回复

        嘿嘿,不过一般都阻挡不了白嫖党(比如我),已通过查看页面源代码获取到。谢谢。不过好像在我的F浏览器上不管用,按了快捷键后,出现的是按下F12出现控制台的效果。

        • 的头像
          Kevin
          05/23/2025 at 11:20 回复

          还有锁开发者控制台的,哈哈哈

          你把它转换成支持Firefox的

发表评论

请输入关键词…