问题标签 [google-chrome-storage]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Opera 扩展:存储选项和访问剪贴板
我正在考虑将我几年前写的一个 Firefox 扩展移植到 Opera,我会验证我从一开始就采取了正确的方式,所以请原谅我的一般性问题:
- 我应该使用哪个 api 来读取或写入剪贴板?
- 我的扩展依赖于用户的选项。据我了解,谷歌浏览器的选项页面在歌剧中不可用。我应该使用裸边来显示选项的当前值 + 存储 api 吗?
谢谢
javascript - 如果扩展的文件更改,则更新 chrome.storage
我有一个Chrome 扩展程序,用于chrome.storage
跟踪样式表以应用于页面内容。其中一个样式表是必需的默认样式表,如果该文件不存在于用户的chrome.storage
. 这很好用。
但是,我有时会使用不同的规则更新此默认样式表以改进样式。当扩展程序运行时,它会检查默认样式表是否存在并找到旧版本的样式表 - 因此它不会从扩展程序的存储中加载任何内容。因此,用户仍在使用旧版本的样式表。
在我的本地计算机上,我可以手动清空我的chrome.storage
并加载新的,但是我不能在扩展发布时通过它来执行此操作,因为我不想在每次我的扩展运行时清空它,我也不知道只有次样式表已在 Chrome 的扩展文件中更新以执行此操作。
我可以通过检查两个文件的每个字符,比较它们是否相同,如果是,则加载扩展的样式表来解决这个问题,但这似乎有点矫枉过正并且容易出错。
chrome.storage
只有在更新扩展的样式表而不更改文件名的情况下,是否有更简单的方法来更新的样式表?
如果你想看看我的实现,整个项目在 GitHub 上是开源的。
google-chrome-extension - Chrome 扩展:后台页面间隔运行,但没有看到 jQuery 插件
我正在创建一个具有背景的 chrome 扩展,它每秒运行一次并更新 chrome.storage...,它被称为artistSetter.js
. 这里是:
背景页面是这样的:
错误是这样的:
响应 storage.get 时出错:ReferenceError: $ is not defined
问题是这在页面刷新后起作用。我明白,这行得通,因为我jQuery.js
开始跑步。但是当我单击Reload
按钮时,它停止工作,并且我开始每秒都收到错误。再次,刷新后,它的工作原理。因为 jQuery.js 开始工作了。
我怎样才能解决这个问题?实在是找不到办法了。
npm - 依赖项中的 Chrome window.localStorage 与 chrome.storage.local
我正在开发一个使用一些 NPM 的 Chrome 应用程序。当我的应用程序中的依赖项使用 window.localStoarge 时,是否可以将其映射到 chrome.storage.local?
我想用与chrome.storage.local一起使用的东西来覆盖window.localstorage。这样我就不必替换使用本地存储的依赖项中的代码。
有没有一个 npm 或可以做到这一点的东西?
google-chrome-extension - 在 chrome.storage.sync 中使用密钥
作为 JS 和扩展的新手,这可能是一个新手错误。
我正在使用同步存储 API
但这会引发错误,因为它无法将键识别为字符串。我确实尝试直接使用“chromeext_form_26”+ tabid 作为键,它将对象映射到它自己的“键”。
在键入chrome.storage.sync.get(null, function (data) { console.info(data) });
时,我可以看到映射为Object { key: "efg"}
.
javascript - chrome.storage 未按预期工作
我正在尝试将字典对象列表保存在 chrome 存储中。但是以下代码似乎无法按预期工作。
当扩展第一次加载并且存储中没有goal
对象时,runtime.lasterror
应该设置对象并执行该部分中的代码。但事实并非如此。
当我取消注释该chrome.storage.sync.set
行并保存对象时,下次我调用期望它保存列表的函数时,它不会。它不提供任何警报框。
javascript - 如何将值存储在数组中并在 chrome 扩展存储中的每个会话中重用它?
我正在尝试使用用户单击的(用户的)ID 创建一个数组。功能是:
javascript - 返回没有功能的 Chrome 存储 API 值
在过去的两天里,我一直在使用 chrome 异步存储。如果您有功能,它可以“正常”工作。(如下所示):
我的问题是我不能使用我正在做的事情的功能。我只想退回它,就像 LocalStorage 一样。就像是:
或者
我已经尝试了一百万种组合,甚至设置了一个公共变量并设置:
没有任何效果。除非引用它的代码在 get 函数内部,否则它都会返回 undefined,这对我来说没用。我只是希望能够将值作为变量返回。
这甚至可能吗?
编辑:这个问题不是重复的,请允许我解释原因:
1:没有其他帖子专门问这个(我先找了两天,以防万一)。
2:我的问题还没有回答。是的,Chrome 存储是异步的,是的,它不返回值。那就是问题所在。我会在下面详细说明...
我需要能够在 chrome.storage.sync.get 函数之外获取存储值。我 - 不能 - 使用 localStorage,因为它是特定于 url 的,并且无法从 chrome 扩展的 browser_action 页面和 background.js 访问相同的值。我不能用一个脚本存储一个值并用另一个脚本访问它。他们被分开对待。
所以我唯一的解决方案是使用 Chrome 存储。必须有某种方法来获取存储项的值并在 get 函数之外引用它。我需要在 if 语句中检查它。
就像 localStorage 可以做的那样
必须有一些方法来做一些事情
我意识到这不会那么简单,但这是我能解释它的最好方式。
我看到的每个帖子都说要这样做:
javascript - 将图像放入 chrome.storage 扩展
我目前正在编写一个 Chrome 扩展程序,需要将一些图像保存到 chrome.storage 内存中。我目前正在制作一组对象:
我用一个简单的追加输出
但是当我从存储中加载它并尝试再次附加它时,它会返回一个错误
当我通过 console.log() 输出它时,它会评估作为对象检索到的内容,但不是我能识别的任何内容。我目前正在使用 chrome.storage.sync
有没有办法做到这一点?存储图像的方式似乎没有什么帮助,并且存在的东西是旧的,并且谈论使用 base64 对旧存储 API 进行编码。但是当我进行初步研究时,有人声称不再需要 base64 编码
javascript - 在 chrome.storage 函数之外使用变量
我正在尝试item
使用 chrome 存储中的字符串更新变量,然后在函数外部使用它。谁能告诉我我做错了什么?
抱歉,如果这很明显,我只是在学习,谢谢。