跳转到内容

AJ:一分钟写了一个网页字数统计插件

使用效果:

选中网页中文字,就可以现实字数

油猴脚本:

使用方法

  1. 浏览器中安装Tampermonkey:https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo
  2. 将以下代码内容黏贴到 Tampermonkey中:
  1. 重启浏览器
  2. 代码本身可复制:
// ==UserScript==
// @name         字数统计浮层
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  在网页上选中文字时,通过浮层显示字数
// @author       您的名字
// @match        *://*/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 创建浮层元素
    const floatDiv = document.createElement('div');
    floatDiv.style.cssText = 'position: absolute; z-index: 1000; padding: 5px; background: white; border: 1px solid black; border-radius: 4px; font-size: 12px; display: none;';
    document.body.appendChild(floatDiv);

    document.addEventListener('mouseup', function(e) {
        const selectedText = window.getSelection().toString();
        if (selectedText.length > 0) {
            floatDiv.textContent = `字数: ${selectedText.length}`;
            floatDiv.style.display = 'block';
            floatDiv.style.left = `${e.pageX}px`;
            floatDiv.style.top = `${e.pageY}px`;
        } else {
            floatDiv.style.display = 'none';
        }
    });
})();

插件制作完整过程

真的整个输出不需要一分钟,全程就说了两句话,指挥AI干活真的太轻松了

以下为完整对话:

You

你是一个Tampermonkey插件作者,你擅长写插件

现在需要你写一个可以在网页上选中文字,就可以统计出字数的插件代码,请开始吧


ChatGPT

🤔 好的,让我们一步步来分析这个问题。您需要一个Tampermonkey插件,当在网页上选中文本时,它能够统计并显示选中的字数。这是一个实用的功能,尤其是对于需要快速计算文本长度的用户来说。

为了实现这个功能,我们需要完成以下几个步骤:

  1. 创建一个Tampermonkey脚本:这将是JavaScript代码,可以在用户浏览器中运行。
  2. 监听文本选取事件:当用户在网页上选取文本时,脚本需要捕捉到这个动作。
  3. 计算选中文本的字数:一旦文本被选中,脚本需要计算其长度。
  4. 显示字数:将计算出的字数以某种形式显示给用户。

接下来,我将为您提供一个基本的Tampermonkey脚本示例。这个脚本将满足上述需求。您可以将这段代码复制到Tampermonkey中,并根据需要进行调整。

javascriptCopy code
// ==UserScript==// @name         字数统计器// @namespace    http://tampermonkey.net/// @version      0.1// @description  在网页上选中文字时统计字数// @author       您的名字// @match        *://*/*// @grant        none// ==/UserScript==
(function() {'use strict';
document.addEventListener('mouseup', function() {const selectedText = window.getSelection().toString();if (selectedText.length0) {alert(`您选中了 ${selectedText.length} 个字符`);
        }
    });
})();

这段代码的工作原理如下:

  • 当用户在网页上选中文本并松开鼠标时,它会触发一个事件。
  • 该脚本捕捉到这个事件后,会计算选中文本的长度。
  • 如果选中了文本(即长度大于0),它会弹出一个对话框,显示选中的字符数。

您可以将这段代码复制到Tampermonkey中,然后在浏览器中尝试选中一些文本,查看效果如何。😊👨💻

如果您有任何特定的需求或想要进行某些调整,请随时告诉我,我会很乐意帮助您进行修改!


You

改成选中后,在网页浮出一个很小的跟随浮层,尽量的小,不影响其他操作使用


ChatGPT

👍 好的,我们可以对脚本进行改进,使之在选中文本后,显示一个小巧的浮层来展示字数,而不是使用弹出对话框。这个浮层会跟随鼠标,尽量小巧,以减少对用户操作的干扰。

要实现这一点,我们需要做几个调整:

  1. 创建一个浮层元素:这个元素将用于显示字数。
  2. 定位这个浮层:使其跟随鼠标位置。
  3. 更新浮层内容:在用户选中文本时,更新浮层显示的字数。

下面是更新后的Tampermonkey脚本:

javascriptCopy code
// ==UserScript==// @name         字数统计浮层// @namespace    http://tampermonkey.net/// @version      0.2// @description  在网页上选中文字时,通过浮层显示字数// @author       您的名字// @match        *://*/*// @grant        none// ==/UserScript==
(function() {'use strict';
// 创建浮层元素const floatDiv = document.createElement('div');
    floatDiv.style.cssText = 'position: absolute; z-index: 1000; padding: 5px; background: white; border: 1px solid black; border-radius: 4px; font-size: 12px; display: none;';document.body.appendChild(floatDiv);
document.addEventListener('mouseup', function(e) {const selectedText = window.getSelection().toString();if (selectedText.length0) {
            floatDiv.textContent = `字数: ${selectedText.length}`;
            floatDiv.style.display = 'block';
            floatDiv.style.left = `${e.pageX}px`;
            floatDiv.style.top = `${e.pageY}px`;
        } else {
            floatDiv.style.display = 'none';
        }
    });
})();

这段代码的工作原理是:

  • 当用户选中文本并松开鼠标时,它会计算选中文本的长度。
  • 如果选中了文本,它会在鼠标的位置显示一个小巧的浮层,显示选中的字符数。
  • 如果没有选中文本或选中的文本长度为0,浮层将会隐藏。

您可以尝试将这段代码复制到Tampermonkey中,然后在网页上选中一些文本来测试效果。🌐📝

如有进一步的定制需求或任何问题,欢迎随时询问,我会很乐意帮助您!😊👨💻


如果想把样式或者功能改的炫酷点,那动手也做一个吧,可以让GPT帮你搞成很多花里胡哨的颜色或者功能

续 改写成popclip插件

可以MAC电脑全局使用

首先,下载popclip并安装https://www.popclip.app/download

或者直接安装插件,插件市场非常丰富https://pilotmoon.com/link/popclip/get-extensions

You

改写成 PopClip 插件格式

ChatGPT

要将这个功能改写成 PopClip 插件,我们需要对其进行一些不同的处理。PopClip 插件是专为 macOS 设计的,它在用户选择文本时提供快速操作选项。PopClip 插件通常由一些配置文件和可选的脚本组成,用来定义插件的行为。

PopClip 插件的核心是一个名为 Config.json 的配置文件,它定义了插件的基本属性和行为。对于您的需求,我们可以创建一个简单的插件,当文本被选中时,显示一个用于计算字数的选项。

以下是一个基本的 PopClip 插件配置示例:

  1. 创建一个新的文件夹,比如命名为 WordCount.popclipext
  2. 在文件夹内创建一个 Config.json 文件,其内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Actions</key>
    <array>
        <dict>
            <key>Title</key>
            <string>显示字数</string>
            <key>Script File</key>
            <string>wordcount.sh</string>
        </dict>
    </array>
</dict>
</plist>
  1. 创建一个脚本文件 wordcount.sh 在同一文件夹内,其内容如下:
#!/bin/bash

# 获取从 PopClip 传入的文本
selected_text="$POPCLIP_TEXT"

# 输出接收到的文本,用于调试
echo "接收到的文本: '$selected_text'" > /tmp/popclip_wordcount_log.txt

# 计算字符数
char_count=$(echo -n "$selected_text" | wc -m | tr -d ' ')

# 输出字符数
echo "字数: $char_count"

这个脚本使用 wc -m 命令来计算选中文本的字符数,并将结果显示出来。

  1. 确保脚本文件可执行。在终端中,运行以下命令:
chmod +x /path/to/your/WordCount.popclipext/wordcount.sh
  1. 安装插件。将 WordCount.popclipext 文件夹拖放到 PopClip 上,以安装插件。

🔍 这个示例创建了一个简单的 PopClip 插件,当文本被选中时,可以点击 PopClip 弹出的 "Count Words" 选项,显示选中文本的字符数。

PopClip 插件是一个相对专业的领域,所以如果您在实现过程中遇到任何问题,或者需要更具体的功能实现,随时告诉我,我会尽力帮助您解决。😊👩💻

效果: