木头的小屋

刷个牙,洗个脸,新的一天,又开始了!

油猴入门

2023-03-24 油猴 woodwen

油猴(Tampermonkey)是一款浏览器扩展,它允许用户编写和运行自定义脚本来修改网页的行为和样式。油猴最初是为谷歌浏览器开发的,但现在也支持其他浏览器,例如火狐浏览器、Safari和微软边缘等。

用户可以使用油猴来自定义网页,例如在网页中添加自己的功能、过滤网页中的广告、修改网页的布局、增加快捷方式等。通过使用 JavaScript 编写自己的脚本,用户可以在网页上添加交互性的元素,例如按钮、下拉菜单、弹出窗口等。

油猴还支持用户自定义脚本的存储和同步,这意味着用户可以在不同设备上使用相同的脚本,并确保它们保持同步和最新。油猴还提供了一个脚本库,用户可以在其中找到和安装其他人编写的脚本,并在自己的网页中使用。

简介

用户可以使用油猴来自定义网页,例如在网页中添加自己的功能、过滤网页中的广告、修改网页的布局、增加快捷方式等。通过使用 JavaScript 编写自己的脚本,用户可以在网页上添加交互性的元素,例如按钮、下拉菜单、弹出窗口等。

油猴还支持用户自定义脚本的存储和同步,这意味着用户可以在不同设备上使用相同的脚本,并确保它们保持同步和最新。油猴还提供了一个脚本库,用户可以在其中找到和安装其他人编写的脚本,并在自己的网页中使用。

背景

油猴(Tampermonkey)最初是由德国开发者 Jan Biniok 在2010年创建的一款浏览器扩展,旨在为谷歌浏览器提供一个易于使用的用户脚本管理器。在油猴的初始版本中,用户可以编写自己的 JavaScript 脚本,并使用油猴将其加载到网页上,以实现对网页的个性化定制。

油猴的成功在于它提供了一种快速、简便的方式,让用户通过自定义脚本来改善他们的网页浏览体验,例如禁用网页中的广告、增加新功能、优化页面布局等。随着时间的推移,油猴逐渐扩展了支持的浏览器范围,并在全球范围内拥有了大量的用户和社区。

今天,油猴已成为了一款广受欢迎的浏览器扩展,它可以在谷歌浏览器、火狐浏览器、Safari和微软边缘等主流浏览器上使用。它提供了一个强大的 JavaScript 脚本引擎,可以帮助用户轻松地编写、管理和分享自己的脚本,以实现更好的网页浏览体验。

原理

油猴的原理是通过注入用户编写的 JavaScript 脚本到网页中,以实现对网页的定制和修改。

具体来说,当用户在浏览器中访问一个网页时,油猴会检查该网页是否与用户编写的脚本匹配。如果匹配成功,油猴将会在网页的 DOM 树中注入用户编写的脚本,以实现对网页的定制和修改。这些修改可以包括添加新的 HTML 元素、修改 CSS 样式、绑定新的事件、发送 AJAX 请求等等。

在注入脚本的过程中,油猴还提供了一些钩子(hook)来帮助用户更好地控制脚本的执行。例如,用户可以通过在脚本中定义 GM_registerMenuCommand() 函数来添加自定义菜单项;通过定义 GM_addStyle() 函数来添加新的 CSS 样式;通过使用 GM_xmlhttpRequest() 函数来发送 AJAX 请求等。

总的来说,油猴通过注入用户编写的 JavaScript 脚本来修改网页的行为和样式,从而为用户提供了一种灵活、定制化的浏览体验。

应用

油猴可以应用于很多方面,主要是通过用户编写自定义脚本来改变网页的行为和样式,从而实现个性化定制和优化。以下是油猴的一些应用示例:

广告过滤:用户可以编写脚本来自动屏蔽网页中的广告或者弹窗。

网页美化:用户可以编写脚本来修改网页的样式和布局,例如改变字体大小、颜色等,或者调整页面布局,使其更符合个人喜好。

网页功能增强:用户可以编写脚本来添加新的功能或者改善现有功能,例如增加自动填充、自动刷新、翻译等功能。

网页脚本集成:用户可以将多个脚本集成到一起,以实现更复杂的功能,例如在社交媒体网站上添加新的功能、增强某些特定的网站等。

数据处理:用户可以编写脚本来处理网页中的数据,例如自动提取文本、保存图片等。

需要注意的是,由于油猴的脚本是运行在网页上的,因此一些脚本可能会影响网页的性能或者安全性,用户需要慎重选择和使用脚本,并定期更新油猴和脚本。

油猴案例

以下是一些油猴脚本的案例,供您参考:

Adblock Plus: 一款广告屏蔽插件,可以屏蔽网页中的广告,提高浏览体验。该插件已经有很多年的历史了,也有相应的油猴脚本版本。

Google 搜索链接增强脚本:该脚本可以将 Google 搜索结果中的链接直接转化为直接链接,方便用户快速打开目标网页,避免重复点击。

豆瓣读书增强:该脚本可以在豆瓣读书页面上显示图书价格走势和评论数,方便用户更好地了解图书信息和购买决策。

知乎自动展开:该脚本可以自动展开知乎网页中的折叠内容,避免用户频繁点击“查看更多”,提高浏览效率。

视频网站去广告脚本:该脚本可以屏蔽视频网站中的广告,提高视频观看体验。

以上是一些常见的油猴脚本案例,它们可以帮助用户改变网页的行为和样式,实现个性化定制和优化。当然,油猴脚本的功能远不止于此,用户可以根据自己的需求自定义脚本,实现更多的功能和效果。

安装油猴

以下是在Chrome浏览器上安装Tampermonkey油猴插件的步骤:

打开Chrome浏览器,进入Chrome网上应用店(https://chrome.google.com/webstore/category/extensions); 在搜索框中输入Tampermonkey; 选择符合您浏览器版本的Tampermonkey插件,点击添加到Chrome; 安装完成后,会在浏览器右上角看到Tampermonkey的图标,表示已经安装成功; 点击Tampermonkey的图标,可以看到一个弹出菜单,选择“新建脚本”,就可以开始编写自己的脚本了。 注意:在其他浏览器上安装油猴可能略有不同,但大体步骤类似。

搜索油猴脚本

以下是在Tampermonkey油猴插件中搜索脚本的步骤:

点击浏览器右上角的Tampermonkey图标,选择“管理面板”; 在管理面板中,选择“实用工具”,然后选择“在线脚本”; 在在线脚本页面中,可以看到各种类别的脚本,也可以在搜索框中输入关键词搜索; 选择合适的脚本,点击脚本名称或“安装”按钮; 安装完成后,脚本就会自动生效。 注意:在其他类似的脚本网站上也可以搜索到各种油猴脚本。不过要注意脚本的安全性和可靠性,避免下载安装恶意脚本。

最下面参考资料中有脚本地址

自己写油猴demo

以下是一个简单的油猴脚本示例,它可以在百度搜索结果页面上添加一个按钮,点击后可以将搜索结果中的标题字体变成粗体。

// ==UserScript==
// @name         Baidu search bold titles
// @namespace    https://example.com/
// @version      1.0
// @description  Make Baidu search results titles bold with one click
// @author       Your name
// @match        https://www.baidu.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // 创建按钮元素并添加到页面
    const button = document.createElement('button');
    button.innerHTML = 'Make titles bold';
    button.onclick = function() {
        // 获取所有搜索结果的标题元素
        const titles = document.querySelectorAll('.t');
        // 循环遍历标题元素,并设置字体样式
        titles.forEach(function(title) {
            title.style.fontWeight = 'bold';
        });
    };
    document.getElementById('content_left').prepend(button);
})();

这个脚本通过添加一个按钮到页面上,并在按钮被点击时改变搜索结果中标题的字体样式,实现了简单的定制功能。该脚本可以通过将其保存为 .user.js 文件并导入到油猴中来使用。请注意,该脚本只是一个示例,实际使用时需要根据具体的需求编写自己的脚本。

局限性和挑战

油猴作为一个浏览器扩展,也存在一些局限性和挑战:

安全性问题:由于油猴脚本运行在网页上,一些恶意脚本可能会泄漏用户信息、篡改页面内容、植入恶意广告等,因此需要用户谨慎选择和使用脚本,并及时更新油猴和脚本。

兼容性问题:由于不同网站使用的技术和框架不同,一些脚本可能会在某些网站上失效或者出现兼容性问题,需要用户进行调整和适配。

性能问题:由于油猴脚本需要在网页加载完成后再进行处理,一些复杂的脚本可能会影响网页的加载速度和性能,甚至导致浏览器崩溃或者卡顿。

维护问题:由于油猴的脚本是由用户编写和维护的,一些脚本可能会因为作者停止维护或者网站结构变化而失效或者出现bug,需要用户及时更新和修复。

隐私问题:由于油猴脚本可以访问网页中的所有信息,一些脚本可能会收集用户的个人信息或者浏览记录,因此需要用户谨慎选择和使用脚本,并了解脚本的数据收集行为。

总的来说,油猴作为一个浏览器扩展,可以帮助用户实现网页的个性化定制和优化,但也需要用户注意安全性、兼容性、性能、维护和隐私等问题,选择合适的脚本并及时更新和修复。

结论

总的来说,油猴是一款功能强大的浏览器扩展,可以帮助用户自定义网页的行为和样式,实现个性化定制和优化。用户可以通过编写自定义脚本来改变网页的行为和样式,从而达到各种不同的目的,例如广告过滤、网页美化、网页功能增强、数据处理等。

不过,油猴也存在一些局限性和挑战,例如安全性、兼容性、性能、维护和隐私等问题,需要用户注意并采取相应的措施,选择合适的脚本并及时更新和修复。总的来说,油猴可以帮助用户更好地掌控浏览器和网页,提高浏览体验和工作效率。

参考资料

以下是关于油猴的一些参考资料,供您参考:

油猴官方网站:https://www.tampermonkey.net/

油猴官方文档:https://www.tampermonkey.net/documentation.php

油猴的 GitHub 仓库:https://github.com/Tampermonkey/tampermonkey

Greasy Fork 网站,提供大量油猴脚本:https://greasyfork.org/zh-CN

油猴中文网,提供油猴使用教程和脚本分享:https://www.youzhan.org/

《油猴脚本开发教程》一书,作者为刘斌,可以在各大电子书平台购买或下载。

以上参考资料涵盖了油猴的官方文档、开源仓库、脚本分享网站、中文教程和书籍等多个方面,可以帮助您更好地了解和使用油猴。