油猴脚本:快速打开粘贴的多个网址

简介: 本文介绍一款实用的油猴脚本,可批量打开粘贴的网址链接。脚本支持设置时间间隔,防止浏览器崩溃,提升工作效率。内容涵盖功能说明、代码解析与优化建议,适合日常办公使用。

目录

你好,我是喵喵侠。今天我将为你介绍一个非常实用的油猴脚本,可以帮助你快速打开多个粘贴的网址链接。在日常工作中,我们可能会遇到需要批量打开多个网页的情况,如果手动逐个打开,不仅耗时费力,而且容易出错。为了提高效率,我们可以利用油猴脚本来自动化这一过程。

什么是油猴脚本?

油猴脚本(Tampermonkey Script)是一种浏览器扩展,允许用户在浏览网页时运行自定义的JavaScript代码。通过油猴脚本,我们可以添加新功能、修改网页内容、自动化一些重复性操作,极大地提升浏览器的使用体验。

脚本功能简介

这个脚本的主要功能是:

  • 提供一个输入框,用户可以粘贴多个网址(每行一个)。
  • 点击按钮后,脚本会按照设定的时间间隔逐个打开这些网址。
  • 用户可以设置时间间隔,防止浏览器一次性打开太多标签页导致崩溃。

脚本代码及优化

以下是这个油猴脚本的代码,我会在代码中逐步解释每个部分的功能。如果你有更好的代码写法或优化建议,欢迎提出。

// ==UserScript==
// @name         快速打开粘贴的多个网址
// @namespace    http://tampermonkey.net/
// @version      0.3
// @description  批量打开多个网址,支持设置时间间隔
// @author       喵喵侠
// @match        *://*/*
// @grant        none
// @run-at       context-menu
// ==/UserScript==
(function () {
    'use strict';
    // 创建主容器
    var div = document.createElement("div");
    div.style.cssText = "position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;z-index:99999;width:800px;height:600px;background:rgba(0,0,0,0.8);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;border-radius:10px;";
    // 创建文本框
    var textarea = document.createElement("textarea");
    textarea.style.cssText = "width:100%;height:300px;padding:10px;margin-bottom:10px;font-size:16px;border-radius:5px;border:1px solid #ccc;";
    // 创建打开按钮
    var btn = document.createElement("button");
    btn.innerHTML = "全部跳转!";
    btn.style.cssText = "padding:10px 20px;margin:5px;background-color:#4CAF50;color:white;border:none;border-radius:5px;cursor:pointer;font-size:16px;";
    // 创建关闭按钮
    var close_btn = document.createElement("button");
    close_btn.innerHTML = "关闭";
    close_btn.style.cssText = "padding:10px 20px;margin:5px;background-color:#f44336;color:white;border:none;border-radius:5px;cursor:pointer;font-size:16px;";
    // 创建时间间隔输入框
    var time_input = document.createElement("input");
    time_input.type = "number";
    time_input.value = "500";
    time_input.style.cssText = "width:60px;padding:10px;margin:5px;font-size:16px;border-radius:5px;border:1px solid #ccc;text-align:center;";
    // 将元素添加到主容器
    div.appendChild(textarea);
    div.appendChild(btn);
    div.appendChild(close_btn);
    div.appendChild(time_input);
    // 将主容器添加到body
    document.body.appendChild(div);
    // 打开按钮点击事件
    btn.onclick = function () {
        var urls = textarea.value.split("\n").filter(url => url.trim() !== ""); // 过滤空行
        for (let i = 0; i < urls.length; i++) {
            setTimeout(() => {
                window.open(urls[i].trim());
            }, i * time_input.value); // 使用索引*i*时间间隔,避免一次性打开太多页面
        }
        document.body.removeChild(div);
    };
    // 关闭按钮点击事件
    close_btn.onclick = function () {
        document.body.removeChild(div);
    };
})();

如果你想直接安装使用,可以访问我的脚本地址:

快速打开粘贴的多个网址

代码解读

元数据块:

这一部分定义了脚本的基本信息,包括名称、版本、描述、作者以及匹配的URL模式。

// ==UserScript==
// @name         快速打开粘贴的多个网址
// @namespace    http://tampermonkey.net/
// @version      0.2
// @description  批量打开多个网址,支持设置时间间隔
// @author       喵喵侠
// @match        *://*/*
// @grant        none
// @run-at       context-menu
// ==/UserScript==

创建主容器

var div = document.createElement("div");
div.style.cssText = "position:fixed;top:0;right:0;bottom:0;left:0;margin:auto;z-index:99999;width:800px;height:600px;background:rgba(0,0,0,0.8);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;border-radius:10px;";

创建文本框

var textarea = document.createElement("textarea");
textarea.style.cssText = "width:100%;height:300px;padding:10px;margin-bottom:10px;font-size:16px;border-radius:5px;border:1px solid #ccc;";

创建打开按钮和关闭按钮

var btn = document.createElement("button");
btn.innerHTML = "全部跳转!";
btn.style.cssText = "padding:10px 20px;margin:5px;background-color:#4CAF50;color:white;border:none;border-radius:5px;cursor:pointer;font-size:16px;";
var close_btn = document.createElement("button");
close_btn.innerHTML = "关闭";
close_btn.style.cssText = "padding:10px 20px;margin:5px;background-color:#f44336;color:white;border:none;border-radius:5px;cursor:pointer;font-size:16px;";

创建时间间隔输入框

var time_input = document.createElement("input");
time_input.type = "number";
time_input.value = "500";
time_input.style.cssText = "width:60px;padding:10px;margin:5px;font-size:16px;border-radius:5px;border:1px solid #ccc;text-align:center;";

按钮点击事件

btn.onclick = function () {
    var urls = textarea.value.split("\n").filter(url => url.trim() !== ""); // 过滤空行
    for (let i = 0; i < urls.length; i++) {
        setTimeout(() => {
            window.open(urls[i].trim());
        }, i * time_input.value); // 使用索引*i*时间间隔,避免一次性打开太多页面
    }
    document.body.removeChild(div);
};
close_btn.onclick = function () {
    document.body.removeChild(div);
};

功能优化

在这段代码中,我们已经加入了时间间隔功能,默认间隔为500毫秒(用户可以自行调整)。这样可以防止浏览器一次性打开太多标签页导致崩溃。如果你有更好的优化建议,欢迎提出。

总结

通过这个油猴脚本,我们可以轻松地批量打开多个粘贴的网址链接,提高工作效率,并避免浏览器崩溃。希望本文能帮助你更好地利用油猴脚本,来优化日常工作流程。如果你有任何问题或建议,欢迎与我交流。

目录
相关文章
|
对象存储
minio临时凭证直传切换到阿里云oss
minio临时凭证直传切换到阿里云oss
898 1
|
6天前
|
JavaScript 前端开发 定位技术
Vue项目中的虚拟滚动:提升页面渲染性能的最佳实践
本文介绍虚拟滚动技术及其在Vue项目中的应用,通过vue-virtual-scroller实现大数据量下长列表的高性能渲染,提升页面流畅度与用户体验,适用于地图轨迹等业务场景。
90 0
|
6天前
|
人工智能 前端开发 搜索推荐
前端开发必备的 VSCode 插件推荐(第二期)
本文由喵喵侠推荐三款实用VSCode插件:background自定义编辑器背景、Codeium提供AI智能补全、colorize实现颜色值实时高亮,提升开发效率与视觉体验,适合前端开发者使用。
103 0
|
6天前
|
JavaScript 前端开发 开发工具
前端开发必备的 VSCode 插件推荐(第三期)
本文推荐两款提升Vue开发效率的VSCode插件:vue-helper,支持代码扩选、快速跳转与变量定位;别名路径跳转插件,解决@路径无法跳转问题。配置简单,实用高效,助力前端开发提速。
135 0
|
6天前
|
人工智能 前端开发 Go
前端开发必备的 VSCode 插件推荐(第一期)
本文推荐三款提升前端开发效率的VSCode插件:Live Server实现网页实时预览,Tencent Cloud AI Code Assistant提供智能补全与代码优化,WakaTime记录编程时长。助力开发者高效编码,欢迎交流分享使用心得。
90 0
前端开发必备的 VSCode 插件推荐(第一期)
|
6天前
|
人工智能 JavaScript UED
如何实现两个下拉选择框 select选中联动效果?
本文通过一个公司与产品联动的下拉选择案例,详细讲解了Element UI中双向联动下拉框的实现方法。涵盖数据过滤、回显处理、重置功能及注意事项,结合Vue实战代码,帮助开发者提升表单交互体验,适用于各类关联选择场景的开发参考。(238字)
96 0
如何实现两个下拉选择框 select选中联动效果?
|
6天前
|
前端开发 开发者 容器
如何解决 flex 布局下子元素 width 宽度设置失效的问题
本文通过实际案例,探讨前端开发中flex布局导致子元素宽度设置失效的问题,分析原因并提供两种解决方案:去除flex布局(不推荐)和设置min-width(推荐),帮助开发者深入理解flex特性,提升布局控制能力。
65 0
如何解决 flex 布局下子元素 width 宽度设置失效的问题
|
6天前
|
JavaScript Linux iOS开发
使用 nvs 工具来切换 node 版本
nvs是一款跨平台Node版本管理工具,支持Windows、macOS和Linux,可轻松切换不同项目的Node版本。本文介绍其安装方法、常用命令(如添加、切换、默认版本设置)及实用技巧,助力多项目高效开发。
81 0
使用 nvs 工具来切换 node 版本
|
8月前
|
资源调度 JavaScript 前端开发
Day.js极简轻易快速2kB的JavaScript库-替代Moment.js
dayjs是一个极简快速2kB的JavaScript库,可以为浏览器处理解析、验证、操作和显示日期和时间,它的设计目标是提供一个简单、快速且功能强大的日期处理工具,同时保持极小的体积(仅 2KB 左右)。
484 24
|
6天前
|
安全 网络安全 开发工具
解决 Host key verification failed 报错的三种方法(含 SSH 安全建议)
本文由喵喵侠撰写,详解Git提交时常见报错“Host key verification failed”的成因与解决方案。当SSH密钥变更或服务器重装系统时,本地记录的主机密钥会失效,导致连接被拒。文章提供三种解决方法:使用`ssh-keygen -R`删除旧密钥、手动编辑`known_hosts`文件,或临时禁用严格检查(不推荐生产环境)。同时强调安全建议:确认服务器状态、核对密钥指纹、启用`VerifyHostKeyDNS`防范中间人攻击。帮助开发者快速定位问题,保障代码提交顺畅。
131 0