2017-03-06 56 views
1

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

在TamperMonkey或GreaseMonkey中没有可用的文档。

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

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

有没有一种方法可以跨多个脚本使用共享内存跨域?评论后

更新:
我有我从域A脚本X.有一个标志,我需要使用域B这个标志在脚本Y.

+0

你是否拥有对两个域的控制权? – guest271314

+0

不,如果我有控制权,我根本不会使用TamperMonkey。我构建了一个功能来自动执行我的日常工作。 –

+0

_“我构建了一项功能来自动执行我的日常工作。”_您能否进一步描述您想要实现的目标? – guest271314

回答

1

您可以使用元素和window.postMessage( )跨不同领域进行沟通。 postMessage()的第二个参数是发送消息的地址targetOrigintargetOrigin,如果不是"*",则必须匹配目标window的,porthostname

+0

@SGSVenkatesh另请参见[如何跨域使用window.postMessage?](http://stackoverflow.com/questions/3457391/how-do-you-use-window-postmessage-across-domains),[如何从另一个iFrame清除iFrame的内容](http://stackoverflow.com/questions/33645685/how-to-clear-the-contents-of-an-iframe-from-another-iframe/),[如何可以我用一个用户脚本加载共享web worker?](http://stackoverflow.com/questions/38810002/how-can-i-load-a-shared-web-worker-with-a-user-script) – guest271314

+0

规范[HTML - 生活标准 - 9通信](https://html.spec.whatwg.org/multipage/comms.html#comms) – guest271314

相关问题