google-chrome - 如何访问其他 Chrome 或 Firefox 扩展程序的存储值

标签 google-chrome google-chrome-extension firefox-addon firefox-addon-webextensions

我需要有关 Chrome 本地存储访问的说明。假设我设计了两个 Chrome 扩展程序 - Extension1Extension2。我通过调用“chrome.storage.sync.set”在 Extension1 中设置了值 val_ext1,在 Extension2 中设置了值 val_ext2

我需要知道是否可以从 Extension1 访问 val_ext2 以及从 Extension2 访问 val_ext1。如果是,那么如果有人可以分享一些关于如何执行相同操作的指示,将会很有帮助。另外,我还想知道 Mozilla 扩展是否也一样。

最佳答案

Chrome

不,这是不可能的。 chrome.storage.* 只能由存储数据的扩展程序访问。没有 API 允许您访问存储在 StorageArea 中的数据。 .

如果您想访问该数据,则需要使用 Cross-extension messaging 。然而,这需要编写两个扩展以方便这样做。对于您无法控制的扩展来说,这种情况不太可能发生。

火狐浏览器

在这方面(以及大多数其他方面),Firefox WebExtensions 与 Chrome 扩展具有相同的限制。

Other types of Firefox extensions 明显比 WebExtensions/Chrome 扩展功能更强大。使用任何其他类型的 Firefox 扩展,您应该能够编写代码来授予您访问存储在不同 WebExtensions 的 StorageArea 数据中的数据的权限。 WebExtensions API 主要是用 JavaScript 编写的。其他类型的 Firefox 扩展可以(如果他们选择)修改 Firefox 附带的 JavaScript。因此,虽然没有可用的特定 API 允许您执行此操作,但您可以编写一个扩展来执行此操作,即使这需要该扩展来修改 Firefox 附带的 JavaScript 代码。1 显然,修改现有的 Firefox 代码不应该是您完成某些任务的首选,但它可能是完成您想要的任务所需要的。


  1. One of my extensions修改现有的 Firefox 代码,以便将一个文件中的值从定义为 const 更改为可通过选项页面进行配置。在该特定扩展中,代码被完全替换。不过,也可以通过编程方式更改部分 Firefox 代码。

关于google-chrome - 如何访问其他 Chrome 或 Firefox 扩展程序的存储值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42247034/

相关文章:

javascript - 根据 .cpuprofile 文件计算总时间

javascript - 从源加载图像缓慢

javascript - 未能声明接口(interface) 0 : Device or resource busy

javascript - FF 扩展 - 不保留全局变量值

javascript - 如何查找页面外的元素

android - 从 Firefox for Android 加载项加载后在当前页面上运行 JavaScript

rest - https rest 请求在浏览器和 postman 中有效,而不是来自 soap ui

css - 最新的 Chrome 更新搞砸了 Sencha Touch 2.0.0 布局

Angular2 将动态样式应用于范围控制更改事件

javascript - 获取 HTML 表单之外的值