问题标签 [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 - 存储 chrome 扩展选项而不关闭选项模式
我有一个 chrome 扩展,其选项通过options_ui
manifest.json 中的标签设置。我可以保存选项,但是我注意到必须关闭选项模式chrome.storage.sync.set
才能完成保存选项的功能。即使选项模式未关闭,如何在单击“保存”时强制保存选项?
选项.js:
清单.json:
编辑:除非选项模式已关闭,否则在下面添加不会获得最新选项的 background.js 代码(在单击选项页面上的保存按钮后)。下面的alert
行输出旧保存的选项值......只有在选项模式关闭后才输出新保存的值。
javascript - chrome 存储中异步回调的奇怪结果?
我正在创建一个“抽认卡”程序,但在继续之前需要让表格和将所选单词添加到表格中的方式正常工作。相关代码如下,for 循环从 555 开始,因为无论出于何种原因,这都是我开始保存它们的值。因此,基本上每当用户右键单击选定的单词并按下上下文菜单中的按钮时,它应该将该单词保存在 chrome 存储中并将其输出到通过下面的代码填充的表中。现在奇怪的部分是工作并识别本地存储管中有多少单词,但它用那么多单词填充表格,只是最后一个突出显示的单词。
例如,如果我突出显示并选择了 3 个单词,则只有最后一个单词会显示在表格上,但它会填充 3 行。这是 storage.sync.get 方法中异步回调的结果,还是我的愚蠢错误?
这是代码的设置部分:
javascript - 用于 Chrome 扩展的 HTML5 sessionStorage 或 chrome.storage?
我有一个 Chrome 扩展,它只是一个内容脚本。我想保留一些在内容脚本中计算的数据,这样我就可以在浏览时轻松访问它,而不必在每个页面上重新计算它。我只需要为会话存储数据。
我正在查看chrome.storage API,但似乎数据会在会话结束后持续存在。我以前有使用 HTML5 sessionStorage 的经验,但我觉得我应该在这里利用 Google 的 API。
任何输入表示赞赏,谢谢!
javascript - 进入域后如何调用chrome扩展内容脚本
我有一个在域的多个路径上运行的 chrome 扩展。我试图实现的功能是在进入域(任何路径)时,我调用一个内容脚本(content_script_getdata.js)来解析数据并将其存储在 chrome.storage.local 中。进入后,路径之间的导航不需要调用content_script_getdata.js。每个路径都有自己的内容脚本,该脚本从 chrome.storage.local 获取并根据数据更新该路径的 UI。
我怎样才能实现这个功能?我想把它放在 background.js 中,但我需要内容脚本的功能。如果数据已在 chrome.storage.local 中设置,我还考虑检查路径的每个内容脚本,如果没有,则通过 jQuery 的 $.getScript() 调用 content_script_getdata.js,但不确定这是否是最好的选项。
编辑:manifest.json(相关部分)
javascript - 为什么存储到 chrome.storage.sync 的对象的方法在检索时不是函数?
我将 Timer 对象存储到chrome.storage.sync
. 当我检索 Timer 对象并尝试调用其方法之一时countdown()
,该方法不再存在:
Chrome devTools 说:“响应 storage.get 时出错:TypeError:items[key].countdown 不是函数。”
google-chrome - 从 Chrome 扩展程序保存数据
我正在尝试创建一个如下图所示的 Chrome 扩展程序。
我想在单击“+”按钮时保存名称和 ID,并且我想将所有保存的数据加载到onLoad
事件中,如图像上部所示。单击相应的删除按钮时,我还想删除特定的数据行。
关闭 Chrome 时,保存的数据应保留。
javascript - 迭代地从 chrome.storage 读取和处理对象
我将 blob 对象存储在 chrome.storage.local 中,并增加键“0”、“1”、“2”等。对象的数量不固定。从“0”开始迭代地读取和处理它们的最佳方法是什么?(在没有处理前一个对象之前,我无法读取下一个对象)。
我知道可以使用以下代码获取所有对象:
但就我而言,可能有很多 blob 文件,我不想一次在内存中处理它们。
google-chrome-storage - 如何检查未初始化的 chrome 存储?
我正在尝试检查存储是否为空,但它给出了一个错误,指出数据需要set
在它甚至可以get
来自存储之前。
编辑:我得到的错误是:Invocation of form get(string) doesn't match definition get(optional string or array or object keys, function callback)
at normalizeArgumentsAndValidate (extensions::schemaUtils:112:11)
at StorageArea.self.(anonymous function) [as get] (extensions::StorageArea:35:14)
at chrome-extension://lqhqq.....
这是一个类似的问题:Making an Array in chrome.storage and retrieving data
javascript - chrome 扩展类按钮上的事件侦听器似乎不起作用,或者侦听器的操作不起作用?
我正在尝试制作一个 chrome 扩展弹出窗口,用户可以在其中添加特定选项卡的 URL 或删除一个或全部删除。删除一切正常,添加 URL 也可以。但是,“删除一个链接”根本不起作用,我真的一直在与那个部门苦苦挣扎。我希望有人可以帮助我解决这个问题,因为我不知道问题是什么。以下是文件:
popup.js:gist.github.com/kobrajunior/4852f85ae18cfb9edbe542a820b8c107
popup.html:gist.github.com/kobrajunior/1c26691734c19391c62dc336ed2e1791
manifest.json:gist.github.com/kobrajunior/78acda830c2d1c384333542422f1494d
我在其他帖子上读到过,这可能是因为getElementsByClassName
它没有返回一个“真实”数组,如果这是真的,你可以通过它使用函数来操作事物,而不是我没有解决这个问题的工具。
“X”按钮不起作用:
清除所有按钮按预期工作:
javascript - 如何将文本区域转换为表单?
嗨,我需要帮助将 textarea 转换为具有三个输入的基本表单,例如...用户可以将他们的名字、姓氏和电子邮件输入到表单中。目前我的代码有一个文本区域,它被存储到 chrome 存储中。请帮我将其转换为一种形式,并且仍然在 chrome 存储中存储和检索它。非常感谢。
html:
JS 文件: