Tampermonkey 高级API的使用 附Demo
Tampermonkey 高级API的使用 附Demo
近期博主在GitChat上举办了一场 彻底玩转Tampermonkey的Chat 欢迎各位前来捧场. 报名地址
使用 Tampermonkey 编写高级跨网站自动化任务脚本
在Tamermokeny中编辑脚本可以很容易地控制自己的网页
处理一般性的操作外,如更换问题,图片,注入样式和脚本外
如果我们要做更多 这就需要使用Tamermokey提供的应用程序接口, 即高级API
unsafeWindow
unsafeWindow 对象提供权限访问页面的js函数和变量
向document中添加样式可以使用
GM_addStyle(css)
-
// @grant GM_addStyle
-
-
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’的值
-
// @grant GM_setValue
-
// @grant GM_getValue
-
// @grant GM_deleteValue
-
// @grant GM_listValues
-
-
GM_setValue('time', '2019年10月23日15:08:15')
-
console.log('获取time',GM_getValue('time')
-
GM_deleteValue('name')
-
console.log('获取time',GM_getValue('time')
-
GM_setValue('time', '2019年10月23日15:08:15')
-
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的标志的对象。
-
// @grant GM_openInTab
-
-
GM_openInTab('https://fizzz.blog.csdn.net/', { active: true, insert: true, setParent :true }) // 打开新的tab