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

 

 

posted @ 2021-01-14 23:10  大白熊^_^  阅读(403)  评论(0编辑  收藏  举报