javascript - 当不同用户安装时,Chrome 扩展程序如何与自身对话?

标签 javascript google-chrome-extension external message

Chrome浏览器支持多个用户( Angular 色),因此我们可以加载具有不同cookie和 session 数据的网页。这工作得很好,做我想做的事。现在我希望在多个用户帐户上安装一个扩展程序以在用户之间共享信息。

我不知道该怎么做,请帮忙?

详细信息和想法:

通过设置一些cookie,我可以更改目标网页的一些首选项,以使用一些新功能。有些功能有所不同,但核心信息应该是相同的。我希望通过扩展代码来比较它们。

通过使用 chrome 浏览器的人物功能( Angular 色),我可以在 chrome 中加载我们网页的新旧版本,并并排比较。

我还有一个 Chrome 扩展程序,可以抓取目标网页,以提取名称、价格、信息等信息。这也很有效。我可以手动检查旧版本或新版本页面的抓取结果。

现在面临的挑战:如何比较不同人( Angular 色)加载的网页之间的抓取结果。每个“人”都安装并运行了扩展。

当我使用分机 ID 发送外部消息时,只有同一“人员”上的分机会收到该消息。

当我查看每个“人员”扩展的背景页面时,它们是不同的。在一个扩展中设置值不会影响另一个扩展中的值。

// code in background page.
chrome.runtime.onMessageExternal.addListener(
    function(request, sender, sendResponse){
        console.log('background page was hit');
    });

// paste code in browser console.
chrome.runtime.sendMessage('id_here', {getTargetData: true},
    function(response) {
        console.log(response);
    });

最佳答案

您无法在客户端上的用户之间共享数据。这将允许您的扩展程序下载所有用户的数据并与其他用户共享。

也就是说,您可以将数据推送到共享服务器并使用它进行比较(使用 HTTP 或 Websockets)

关于javascript - 当不同用户安装时,Chrome 扩展程序如何与自身对话?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46333182/

相关文章:

javascript - IE7 Javascript 和使用字符串作为数组

javascript - InvokeScript() 方法返回 null

javascript - 围绕 javascript/html 数据选项的 if 语句

html - 如何使 swiper.js 图像可点击?

javascript - 使用 GreaseMonkey 停止加载缓慢的脚本

javascript - Jquery - 防止通过覆盖层触发点击事件

javascript - 为什么我无法使用 sendMessage 将函数发送到内容脚本

javascript - Chrome 内容脚本不工作 : DOMContentLoaded listener does not execute

javascript - 如何修复 chrome-extension 内联 JavaScript 调用错误?

javascript - 如何使用 SublimeCodeIntel 在 Sublime Text 3 中将代码智能感知添加到外部 JS 文件