码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【使用jquery编写第一个油猴(tempermonkey)脚本】


    使用jquery编写第一个油猴(tempermonkey)脚本

    • 01. 下载安装油猴浏览器插件
      • 0101. 关于浏览器的特别说明
      • 0102. 油猴插件下载地址
    • 02. 获取新脚本
      • 0201. 油猴菜单栏
      • 0202. 脚本社区
      • 0203. GreasyFork社区
      • 0204. 搜索
      • 0205. 插件详情
    • 03. 编写新脚本
      • 0301. 脚本头部声明
      • 0302. 插件菜单栏
      • 0303. 在线脚本IDE
      • 0304. 使油猴脚本支持jquery
      • 0305. 完整测试代码:
      • 0306. 调试代码
    • 04. 脚本发布
      • 0401. 登录greasyfork社区
      • 0402. 代码
      • 0403. 检查声明 & 发布


    01. 下载安装油猴浏览器插件

    0101. 关于浏览器的特别说明

    使用chrome内核内核的浏览器理论上都可以安装google的浏览器插件,但是目前手机版的chrome并未开放该功能。

    所以我本人是安装了kiwi browser移动浏览器(chrome内核),为的是,我可以为我经常在手机上访问的网站开发一些脚本,为其增加功能,或者修改为我喜欢的样式(比如,去掉一些无法手动关闭的恶意广告)。

    可以从github去下载最新的release(kiwi browser官方下载地址:https://github.com/kiwibrowser/src.next/releases)
    同时,我也上传到了CSDN的下载资源里,下载地址是:https://download.csdn.net/download/crazy_rays/86620455

    0102. 油猴插件下载地址

    说明下载地址备注
    百度网盘下载https://pan.baidu.com/s/1SqwHjKuBQOdORpJ1KXPO4w?pwd=5hdn提取码:5hdn
    google商店在线安装https://chrome.google.com/webstore/detail/tampermonkey/dhdgffkkebhmkfjojejmpbldmpobfkfo需要能够访问google
    google商店离线下载https://clients2.google.com/service/update2/crx?response=redirect&os=win&arch=x64&os_arch=x86_64&nacl_arch=x86-64&prod=chromecrx&prodchannel=&prodversion=77.0.3865.90&lang=zh-CN&acceptformat=crx2,crx3&x=id%3Ddhdgffkkebhmkfjojejmpbldmpobfkfo%26installsource%3Dondemand%26uc需要能够访问google,下载后使用chrome浏览器安装

    安装成功后可以看到浏览器多了Tampermonkey插件,如下图:

    在这里插入图片描述


    02. 获取新脚本

    开始编写自己的脚本之前,先认识一下Tampermonkey的常用脚本发布网站。

    0201. 油猴菜单栏

    浏览器插件栏点开Tampermonkey插件菜单栏,在下拉列表中点击“获取新脚本”,如下图:

    Tampermonkey插件菜单栏

    0202. 脚本社区

    此时会弹出油猴官方页面,其中提供了几个常用的脚本社区,可以在该页面看到“GreasyFork”社区的相关说明,如下图:

    在这里插入图片描述

    0203. GreasyFork社区

    点击链接“GreasyFork”,打开新网页进入该社区,如下图:

    GreasyFork

    0204. 搜索

    可以在搜索栏中搜索想要使用脚本的网站,例如tmall.com,搜索结果如下图:

    搜索
    或者你可以按照作者进行搜索,如下图:

    在这里插入图片描述

    0205. 插件详情

    点击任意搜索结果可以进入插件详情页面,可以在该页面安装插件、查看其源代码、查看其版本变更记录等,如下图:

    插件详情


    03. 编写新脚本

    0301. 脚本头部声明

    油猴脚本中,头部的一些声明其含义见表格如下:

    属性描述
    @name名称;也就是你给脚本起的名
    @namespace命名空间;可以写你网站的域名
    @version版本;脚本肯定要不断更新的不是
    @description描述;你写的脚本是干什么的
    @author作者;开发者的姓名
    @match匹配;描述脚本会在哪些网站上运行,可以使用 * 通配符代表匹配所有子路径,如 https://*/*代表匹配所有使用https协议的网站都可以使用本脚本
    @grant权限;用于添加GM_ 函数到白名单
    @require需要导入的外部依赖,此url地址需要维护在油猴官方的白名单地址中方可正确导入并使用

    0302. 插件菜单栏

    浏览器插件栏点开Tampermonkey插件菜单栏,在下拉列表中点击“添加新脚本”,如下图:

    Tampermonkey插件菜单栏

    0303. 在线脚本IDE

    弹出新页面,是在线脚本IDE,其中// Your code here...注释下面即可编写自己的代码,如下图:

    在线脚本IDE

    0304. 使油猴脚本支持jquery

    需要使用@require声明,并且添加代码this.$ = this.jQuery = jQuery.noConflict(true);防止依赖冲突,如下图:

    使油猴脚本支持jquery

    0305. 完整测试代码:

    // ==UserScript==
    // @name         tampermonkey demonstration
    // @namespace    http://tampermonkey.net/
    // @version      0.1
    // @description  try to take over the world!
    // @author       You
    // @match        https://www.baidu.com/*
    // @icon         https://www.google.com/s2/favicons?sz=64&domain=tampermonkey.net
    // @grant        none
    // @require      https://code.jquery.com/jquery-2.1.4.min.js
    // ==/UserScript==
    this.$ = this.jQuery = jQuery.noConflict(true);
    
    (function() {
        'use strict';
    
        // Your code here...
    
        // delete elements by class
        var underSearchboxTips = $(".under-searchbox-tips");
        if (null !== underSearchboxTips &&
            typeof(underSearchboxTips) !== "undefined" &&
            underSearchboxTips.length > 0){
    
            for(var i=0; i<underSearchboxTips.length; i++){
                underSearchboxTips[i].remove();
            }
        }
    
        // delete elements by id
        var hotsearchWrapper = $("#s-hotsearch-wrapper");
        if (null !== hotsearchWrapper &&
            typeof(hotsearchWrapper) !== "undefined"){
            hotsearchWrapper.remove();
            console.log("delete elements by id:s-hotsearch-wrapper finished");
        }
        var hotsearchData = $("#hotsearch_data");
        if (null !== hotsearchData &&
            typeof(hotsearchData) !== "undefined"){
            hotsearchData.remove();
            console.log("delete elements by id:hotsearch_data finished");
        }
    })();
    

    0306. 调试代码

    可以按F12打开浏览器的开发调试功能,在Elements页签中可以查看DOM元素,选中元素,可以在Properties页签中查看该元素的属性,见下图:

    在这里插入图片描述
    在这里插入图片描述

    在Resouse页签中的左侧栏目列表中可以找到Tampermonkey插件下所有的脚本,在Resource页签中可以对脚本进行断点调试,见下图:

    在这里插入图片描述
    也可以在代码中使用日志打印的方式辅助调试,见下图:

    在这里插入图片描述
    脚本成功运行后,删除了“百度热搜”栏目,运行结果如下图:

    在这里插入图片描述


    04. 脚本发布

    0401. 登录greasyfork社区

    注册并登录greasyfork社区,进入个人中心,可以看到发布脚本的链接,如下图:

    在这里插入图片描述

    0402. 代码

    点击发布脚本,将代码复制粘贴过来,并填写说明,如下图:

    在这里插入图片描述

    0403. 检查声明 & 发布

    发布脚本前,检查并确定以下声明是否还需要修改:
    // @name,用以确定你的脚本名称。
    // @description,其后的内容为你对该脚本的描述。
    // @license,用以指名对应的许可,我声明的是MIT。

    发布成功后如下图:

    在这里插入图片描述

  • 相关阅读:
    完全背包问题
    什么是 BA ?BA怎么样?BA和BI是什么关系?
    自定义QChartView实现鼠标放在图表时,显示鼠标位置坐标值(x,y)
    MacBook 终端terminal vim配置
    流量封顶时代,容联七陌智能客服构筑企业“第二增长曲线”
    关于JWT
    java分布式锁的场景和使用方法
    又一家芯片新势力杀入车载领域
    开源图数据库Nebula Graph OOM 的问题分析与解决
    Redis 分布式锁
  • 原文地址:https://blog.csdn.net/crazy_rays/article/details/127087784
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号