【发布时间】:2019-10-11 08:27:49
【问题描述】:
我目前有一个 Tampermonkey 脚本,其中包含一系列上下文化函数,我提供这些函数作为在特定页面上运行的选项。
我的代码的简化版本是:
window.func1 = function func1() {...}
window.func2 = function func2(a) {...}
window.func3 = function func3(a, b) {...}
我想要一些函数,它可以获取我拥有的当前脚本并为我提供可用函数的列表,类似于:
>> getAvailableFunctions()
<< func1, func2, func3
我一直在使用 Object.getOwnPropertyNames 方法进行调查,但我似乎无法使用 Tampermonkey 提取该方法。
我可以提供一些意见吗?
谢谢!
【问题讨论】:
-
您最好在
window上创建一个对象,然后将您的函数添加到该对象。否则,您将获得window上的所有功能,包括alert、confirm等。 -
实际上我最终应用了 pswg 推荐的内容。尽管所有对象都在窗口中,但我可以应用过滤器来检索我需要的特定函数,方法是使用 .filter( a=> (typeof(a[1] ==="function" &&& a[1].toString().includes("标识的注释")))
标签: javascript greasemonkey tampermonkey