如何在全局存储信息,以便多个TamperMonkey / GreaseMonkey脚本可以访问它?

时间:2017-03-06 07:39:24

标签: javascript greasemonkey tampermonkey

如何全局存储信息,以便多个TamperMonkey / GreaseMonkey脚本可以访问它并在多个域(跨域)之间共享?

在TamperMonkey或GreaseMonkey中没有关于此的文档。

我尝试使用GM_SuperValueGM_setValue/GM_getValue脚本,但这些存储值的范围仅限于存储它的脚本here。因此,无法从脚本B重试从脚本A存储的值。

LocalStorage解决了问题,脚本A和B正在同一个域上使用。但是并没有解决跨域的问题。

有没有办法在多个脚本之间跨域使用共享内存?

评论后更新:
我有一个标志,我从脚本X中的域A获得。我需​​要在脚本Y中的域B中使用此标志。

1 个答案:

答案 0 :(得分:1)

您可以使用<iframe>元素和window.postMessage()在不同的域之间进行通信。其中postMessage()的第二个参数是发送邮件的targetOrigintargetOrigin(如果不是"*")必须与目标protocol的{​​{1}},porthostname匹配。