2016-07-24 136 views
1

我遵循一个论坛,人们张贴很多链接。我使用javascript和tampermonkey(扩展名为chrome)创建了一个脚本,它首先在新选项卡中打开所有未读的线程,然后查找包含链接的未读帖子并在新选项卡中打开这些链接。如何使用javascript和tampermonkey跨域发送数据?

这个脚本为我节省了很多时间,它工作得很好。不过,我想改进它。

我想更改刚刚打开的页面的标题,以便显示发送到此页面的链接所在的线程的名称。例如:

在“Fruits”主题上,有一个链接为网站“www.apple.com”打开一个新选项卡。我想将此页面的标题更改为“水果 - 页面的名称”,这样我就可以知道这个链接来自哪个线程。

当我的脚本在论坛域内导航时,我使用localstorage和sessionstorage从一个页面发送信息到另一个页面,但我不知道我可以用什么来发送跨不同域的信息。

此外,我想知道是否有办法告诉篡改密钥根据打开的链接运行脚本。

我确实知道如何更改页面的标题,问题是使用论坛域上的线程名称,并使用它来更改不同于域的新标签页上的标题论坛域名。

+0

您可以使用'document.title =“abc”'设置'文档'的标题' – guest271314

+0

谢谢,但我的问题不是改变标题,而是传递论坛域中的线程名称到另一个不同域中的新选项卡,以便我可以使用它来更改页面的标题。 – user3347814

+1

设置相同的脚本以在所有相关页面上运行。然后,您可以使用'GM_setValue()'和'GM_addValueChangeListener()'跨域从一个脚本实例通信到另一个脚本实例。 –

回答

0

Localstorage不允许在不同的域上访问。您需要将数据存储在数据库服务器中。最简单的是注册一个数据库服务,它提供了可以使用的API。如果您要自己托管,则必须编写自己的脚本,以允许CORS提供对数据库服务器的访问。