如何使用window.external.Tampermonkey.openOptions?参数及脚本设置页疑问
Greasyfork脚本安装检测与Tampermonkey openOptions API解析
核心检测逻辑
Greasyfork通过window.external.Tampermonkey暴露的接口实现脚本安装状态检测及相关操作,可调用的核心API如下:
getVersion(<callback>):通过回调返回Tampermonkey的版本信息isInstalled(<script name>, <namespace>, <callback>):传入脚本名称、命名空间,通过回调获取该脚本的安装状态及版本openOptions(<param1>, <param2>):用于打开Tampermonkey各类选项页面,官方无公开文档说明,以下为实测结论
openOptions API实测细节
第一个参数的作用
实测确认第一个参数为页面导航哈希值,可直接指定目标页面:
- 打开帮助页:
window.external.Tampermonkey.openOptions("nav=help"); - 打开指定脚本设置页:
window.external.Tampermonkey.openOptions("nav=<script id>+settings");
第二个参数的未知性
目前无公开文档说明第二个参数的作用,且Tampermonkey相关代码经过混淆,难以调试分析。实测中不传该参数也能正常触发页面跳转,推测其为预留参数或用于特定场景配置(如窗口打开方式、权限验证等),但暂无明确结论。
脚本名称/命名空间打开设置页的可行性
目前无法直接通过脚本名称和命名空间打开对应脚本的设置页,必须使用脚本ID拼接成nav=<script id>+settings的哈希格式。若需通过名称/命名空间定位脚本,可先调用isInstalled接口获取脚本基础信息,再结合Tampermonkey存储或其他方式获取对应脚本ID,进而构造参数调用openOptions。
内容的提问来源于stack exchange,提问作者PRO
相关产品推荐
相关产品推荐

