• Tampermonkey 高级API的使用 附Demo


    Tampermonkey 高级API的使用 附Demo

    近期博主在GitChat上举办了一场 彻底玩转Tampermonkey的Chat 欢迎各位前来捧场. 报名地址

    使用 Tampermonkey 编写高级跨网站自动化任务脚本

    在Tamermokeny中编辑脚本可以很容易地控制自己的网页

    处理一般性的操作外,如更换问题,图片,注入样式和脚本外

    如果我们要做更多 这就需要使用Tamermokey提供的应用程序接口, 即高级API

    unsafeWindow

    unsafeWindow 对象提供权限访问页面的js函数和变量

    向document中添加样式可以使用

    GM_addStyle(css)

    1.  
      // @grant GM_addStyle
    2.  
       
    3.  
      GM_addStyle(`body{color:red},p{color:blue}`)

    GM_*funtion 提供了浏览器级别的存储方式 具体方式如下

    GM_deleteValue(name)

    删除‘name’ 从storage里

    GM_listValues()

    列出storage中的所有name

    GM_setValue(name, value)

    设置‘name‘ 的值到storage中

    GM_getValue(name, defaultValue)

    从storage中获取‘name’的值

    1.  
      // @grant GM_setValue
    2.  
      // @grant GM_getValue
    3.  
      // @grant GM_deleteValue
    4.  
      // @grant GM_listValues
    5.  
       
    6.  
      GM_setValue('time', '2019年10月23日15:08:15')
    7.  
      console.log('获取time',GM_getValue('time')
    8.  
      GM_deleteValue('name')
    9.  
      console.log('获取time',GM_getValue('time')
    10.  
      GM_setValue('time', '2019年10月23日15:08:15')
    11.  
      console.log('GM_listValues',GM_listValues())

    如果想要打开一个新的Tab页 可以使用

    GM_openInTab(url, options), GM_openInTab(url, loadInBackground)

    使用参数url打开一个新的tab,options可以是以下值

    active 决定新的tab是否被聚焦,聚焦的意思是直接显示
    insert 插入一个新的tab在当前的tab后面
    setParent 在tab关闭后重新聚焦当前tab
    另外,新的选项卡将被添加。loadinbackground具有与active相反的含义,并被添加以实现Greasemonkey 3.x兼容性。如果未指定“活动”或“加载后台”,则选项卡将不会聚焦。此函数返回一个具有函数close、侦听器onclosed和一个名为closed的标志的对象。

    1.  
      // @grant GM_openInTab
    2.  
       
    3.  
      GM_openInTab('https://fizzz.blog.csdn.net/', { active: true, insert: true, setParent :true }) // 打开新的tab
  • 相关阅读:
    使用AnsyncTask异步类从网络上下载图片
    fibonacci分治求法
    JavaScript
    JavaScript
    JavaScript
    JavaScript
    yarn安装vue后,报“文件名、目录名或卷标语法不正确。”
    VIM-Plug安装插件时,频繁更新失败,或报端口443被拒绝等
    Node.js Windows Binary二进制文件安装方法
    Linux常用命令
  • 原文地址:https://www.cnblogs.com/dabaixiong/p/14279969.html
Copyright © 2020-2023  润新知