您的位置:

暴力猴脚本全面解析

一、简介

暴力猴是一款脚本管理器,可以在浏览器中加载并运行用户自定义的JavaScript脚本,可用于增强浏览器功能,改变网站外观等。暴力猴可运行于Chrome、Firefox、Opera等主流浏览器。

二、安装和使用

安装暴力猴很简单,只需在浏览器应用商店中搜索并下载即可。安装完成后,在浏览器右上角会出现暴力猴图标,单击即可进入脚本管理界面。在此界面中,用户可进行新建、编辑、删除、禁用脚本等操作,同时也可对全局配置进行修改。

编写暴力猴脚本可使用任意文本编辑器,将代码复制到暴力猴中即可运行。用户可在编写脚本时参考暴力猴提供的API进行操作。下面是一段实现将豆瓣图书评分转化为星级显示的例子:

// ==UserScript==
// @name         转换豆瓣图书评分为星级
// @namespace    none
// @version      1
// @description  将豆瓣图书评分转化为星级显示
// @author       Leo
// @match        https://book.douban.com/*
// @grant        none
// ==/UserScript==

(function() {
  'use strict';
  // 获取豆瓣评分元素
  let score = document.querySelector('.rating_num');
  if(score) {
    // 将评分转成星级
    let score_star = Math.round(parseFloat(score.textContent) / 2);
    score.innerHTML = '';
    for(let i = 0; i < 5; i++) {
      let icon = '<i class="fas fa-star"' + (i < score_star ? 'style="color: #e3cf7a;"' : '') + '></i>';
      score.innerHTML += icon;
    }
  }
})();

三、常用功能

1. 页面自动跳转

暴力猴脚本可在页面加载完成后自动跳转到指定网页,如下所示:

// ==UserScript==
// @name         自动跳转到百度
// @namespace    none
// @version      1
// @description  页面自动跳转到百度
// @author       Leo
// @match        https://www.baidu.com/*
// @grant        none
// ==/UserScript==

(function() {
  'use strict';
  // 延时2秒跳转,可根据需要自行修改
  setTimeout(() => {
    window.location.href = 'https://www.baidu.com/';
  }, 2000);
})();

2. 页面元素修改

暴力猴脚本可对页面元素进行添加、删除、替换等操作,如下所示:

// ==UserScript==
// @name         修改搜索框背景色
// @namespace    none
// @version      1
// @description  将百度搜索框背景色改为红色
// @author       Leo
// @match        https://www.baidu.com/*
// @grant        none
// ==/UserScript==

(function() {
  'use strict';
  // 修改搜索框样式
  let search_box = document.querySelector('#kw');
  if(search_box) {
    search_box.style.backgroundColor = 'red';
  }
})();

3. Ajax请求拦截

暴力猴脚本可拦截页面中的Ajax请求并进行处理,如下所示:

// ==UserScript==
// @name         拦截Ajax请求
// @namespace    none
// @version      1
// @description  拦截页面中的Ajax请求并修改返回值
// @author       Leo
// @match        https://www.example.com/*
// @grant        none
// ==/UserScript==

(function() {
  'use strict';
  // 拦截Ajax请求
  let original_fetch = window.fetch;
  window.fetch = function (url, init, ...args) {
    if (url.indexOf('/api') > -1) {
      // 修改请求返回值
      let fake_resp = { data: { user: 'test' } };
      let new_resp = new Response(JSON.stringify(fake_resp));
      return Promise.resolve(new_resp);
    }
    return original_fetch.apply(this, [url, init, ...args]);
  }
})();

四、总结

暴力猴是一款非常强大的脚本管理器,在网页开发、浏览器定制等方面都有着广泛的应用。学会使用暴力猴脚本能够极大地提高工作效率,让我们的网页浏览体验更加个性化。