上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

《关于小白在油猴脚本一天可以学多少这件事》.jpg

[复制链接]
  • TA的每日心情

    2022-9-12 12:38
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    1

    主题

    8

    回帖

    11

    积分

    助理工程师

    积分
    11

    新人进步奖

    发表于 2022-9-11 19:32:46 | 显示全部楼层 | 阅读模式

    Tampermonkey 脚本制作学习笔记#0x1

    • 弹窗hollow word 制作:
      match 属性:它的作用是匹配网站,表示通配// @match http:///*
    // @match     https://bbs.tampermonkey.net.cn/
    alert('hollow word')    //弹窗代码 
    • 自动登录块:
      • -模拟输入
    document.querySelector('addr').value=''
    ex:document.querySelector('#username_LvR4r').value='8888'
    //PS: '#_id' or '.class'
    • -模拟点击
    document.querySelector("#cookietime_LH0yn").click()
    document.querySelector("button.pn.pnc").click()
    • 视频倍速:只针对h5
      1. 检查h5_player
    document.querySelector("video")
    1. h5的video,里面有一个播放速度的属性:playbackRate,最高为16倍
    document.querySelector('video').playbackRate=2;

    // 代码解释:@run-at ==>代码抢注

    • 脚本ajax跨域访问:
    先鸽了,没咋看懂
    • 脚本添加元素
     enmm,看视频的那一会儿我大概懂了,下来看文字和代码又不懂了,先鸽,后面需要了在过来细看
    • 外部资源引用

      1. 基于油猴 @require 属性 // 可以加MD5校验值

      油猴加载

    // @require     https://github.com/sandoche/Darkmode.js
    脚本加载
    let script = document.createElement('script');
    script.setAttribute('type', 'text/javascript');
    script.src = "https://cdn.jsdelivr.net/npm/vue@2.6.12/dist/vue.min.js";
    document.documentElement.appendChild(script);

    小坑:

    1. 沙盒模式:可能由于加载的js文件操纵了window导致js文件发生冲突
    2. 原网页;可能由于原网页加载了js文件,与我们加载的js文件发生冲突(建议引用原网页)

    区别:require下载到脚本,添加脚本,实时下载

    Tampermonkey 脚本制作学习笔记:0x2

    • Jquery脚本(类似一个简易指令插件):差官方文档

      1. 沙盒引用

      2. 脚本加载

    总结:原网页有就搁沙河加载,没有就原网页加载

    • 存储数据:GM_setValue / GM_getValue
    //@grant    GM_setValue
    //@grant    GM_getValue
    GM_setValue("123",qqq);
    console.log(GM_getValue("123"));
    • // 右键菜单* 自定义的菜单:(感觉不会用到,用到了在过来看)

      //@run-at context -menu
      alert("checked")
    • GM_addStyle使用:去广告

    基本原理:GM_addStyle函数是添加CSS到网页中

    ​ 创建了一个style元素标签,并且将函数内容插入到网页当中

    使用:

    if(weburl.indexOf('www.imomoe.ai')!=-1)
    {
             GM_addStyle('#HMRichBox{display:none !important}')
            GM_addStyle('#bdshare{display:none !important}')
        }

    !important==>增加权重 | 添加多条规则在第一条规则后用分号隔开

    小知识:有点广告是在网页内加载,有的广告是在网页外加载

    总结:相比于document.querySelector('[class="txp_ad"]').Style.display='none',更加快捷//准确

    ):

    iframe匹配问题

    document.querySelector('#g_iframe').contentWindow.document.querySelector
    • 去除百度广告:基于GM_addStyle

    获取nodeList

    document.querySelectorAll('#s-top-left .c-font-normal')
    //#s-top-left ==>上层     .c-font-normal==>下层
    1. 循环筛选创建方法for
    let list=document.querySelectorAll('.mnav')
    for(let index=0;index<list.length;index++){
        let item=list[index]
        console.log(item.innerHTML)
        if(item.innerHTML!=='贴吧'&&item.innerHTML!=='地图'){
            item.remove()
        }
    1. 去除推荐元素
    GM_addStyle('#s-hotsearch-wrapper{display:none !important}')

    Tampermonkey 脚本制作学习笔记:0x3

    • this学习:this可以更好的改变数据结构
    1. 函数中的this:函数内的this一般是windows
    function getthis(){console.log(cat对象,this)}
    ==>undefined
    getthis()   |   getthis.call()
    1. 对象中的this:不在是原来,要搞对象

      var testthis={showthis:function(){console.log('test对象',this)}}
      miaomiaothis.showthis
    1. 对象转换:call和Apply

    例子:

    var cat={name:'小猫',eat:function(){console.log(this.name+'在吃饭')}}
    var dog={name:'二哈'}

    cat 拥有:name、eat-----------------==>cat.eat()-------------------==>小猫在吃饭

    dog 拥有;name;但是这个函数在对象中,通过call就可以直接使用这个 对象(函数)

    cat.eat.call(dog)

    对象this本质上就是:showthis.call(testthis),后面跟了一个函数,通过调用函数的方式来调用对象

    • 简单使用
    var cat={name:'小猫',eat:function(){console.log(this.name+'在吃饭')}}
    var dog={name:'小狗',eat:function(){cat.eat.call(this)}}
    • 箭头函数:this的复用()=>{}
    var cat={
      name:'哆来A梦',
      eat:function(){
      return
          ()=>{console.log(this.name+'正在吃东西')}
      }
    }
    setInterval(cat.eat(),3000)

    总结:箭头函数可以使用,对象里的this,但是要在箭头函数外面套上一层function,以免穿透到外面

  • TA的每日心情

    2022-9-12 12:38
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    1

    主题

    8

    回帖

    11

    积分

    助理工程师

    积分
    11

    新人进步奖

    发表于 2022-9-11 19:34:05 | 显示全部楼层
    开个贴,方便以后查阅
    回复

    使用道具 举报

  • TA的每日心情

    2022-9-12 12:38
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    1

    主题

    8

    回帖

    11

    积分

    助理工程师

    积分
    11

    新人进步奖

    发表于 2022-9-11 19:43:17 | 显示全部楼层
    本帖最后由 bujidao 于 2022-9-11 19:44 编辑

    没错,二楼也是我的(抢板凳,bushi,
    多谢道哥 (ggnb!!) 的脚本教程!
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5961

    回帖

    6760

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6760

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2022-9-11 20:45:30 | 显示全部楼层
    看哥哥学的这么快还是有一定基础的
    推荐看个20-30节哪里看不懂了
    就放弃开始实战
    后续碰到一个一个问题再来一篇一篇看(还他妈一半没写完
    这个文章是论坛大家陆陆续续花了两年才写成的
    哥哥纯看完可能也要一年以上
    要做好心理准备哦
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5961

    回帖

    6760

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6760

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2022-9-11 21:08:14 | 显示全部楼层
    给哥哥颁发新人进步奖了
    期待哪一天能加入开发组
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    昨天 13:37
  • 签到天数: 213 天

    [LV.7]常住居民III

    305

    主题

    4193

    回帖

    4059

    积分

    管理员

    积分
    4059

    管理员荣誉开发者油中2周年生态建设者喜迎中秋油中3周年挑战者 lv2

    发表于 2022-9-11 21:21:13 | 显示全部楼层
    ggnb! 一天看这么多很快了
    上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-9-20 10:07
  • 签到天数: 35 天

    [LV.5]常住居民I

    0

    主题

    39

    回帖

    40

    积分

    初级工程师

    积分
    40
    发表于 2022-9-12 12:07:34 | 显示全部楼层
    好东西啊,正好在学,自学好累
    回复

    使用道具 举报

  • TA的每日心情

    2022-9-12 12:38
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    1

    主题

    8

    回帖

    11

    积分

    助理工程师

    积分
    11

    新人进步奖

    发表于 2022-9-12 14:38:32 | 显示全部楼层
    李恒道 发表于 2022-9-11 20:45
    看哥哥学的这么快还是有一定基础的
    推荐看个20-30节哪里看不懂了
    就放弃开始实战

    谢谢哥哥,我就放假学一下
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2024-10-28 07:07
  • 签到天数: 193 天

    [LV.7]常住居民III

    712

    主题

    5961

    回帖

    6760

    积分

    管理员

    非物质文化遗产社会摇传承人

    积分
    6760

    荣誉开发者喜迎中秋油中2周年生态建设者

    发表于 2022-9-12 14:46:02 | 显示全部楼层
    bujidao 发表于 2022-9-12 14:38
    谢谢哥哥,我就放假学一下

    哥哥加油!
    期待哥哥写出来第一个脚本
    混的人。
    ------------------------------------------
    進撃!永遠の帝国の破壊虎---李恒道

    入驻了爱发电https://afdian.net/a/lihengdao666
    个人宣言:この世界で私に胜てる人とコードはまだ生まれていません。死ぬのが怖くなければ来てください。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2023-3-1 22:30
  • 签到天数: 24 天

    [LV.4]偶尔看看III

    0

    主题

    22

    回帖

    28

    积分

    助理工程师

    积分
    28

    油中2周年新人报道

    发表于 2022-9-17 19:01:45 | 显示全部楼层
    哥哥加油
    回复

    使用道具 举报

    发表回复

    本版积分规则

    快速回复 返回顶部 返回列表