问题标签 [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.
jquery - 在 chrome.storage 中存储 jQuery 元素
我正在尝试创建一个 Chrome 扩展程序,它将获取任何被点击的元素并将其存储在 chrome.storage 中以供以后参考。
我可以将单击的元素存储为字符串,然后将其设置在存储中,但这很快就达到了存储限制。
我需要一些关于解决此问题的最佳方法的建议。
以类名的形式存储对元素的引用也是有问题的,因为我想在以后迭代存储的项目并更改它们。这只有在每个元素都有一个唯一的类/id 名称时才有效(例如,我想引用单个句子)。
我确信我缺少一个简单的解决方案。
javascript - 跨多个页面隐藏元素
我正在创建一个 chrome 扩展,当点击时它会在页面上隐藏一个 jQuery 元素。
我需要在 chrome.storage API 中存储对此元素的引用,因此当页面在以后加载时,我可以再次隐藏该元素。
我知道 DOM 树是在页面加载时重建的,我不确定这是否会产生任何影响。该元素也可以是页面上的任何内容,因此不一定具有类/ID 名称。
存储参考的最佳方法是什么?我对如何做到这一点一无所知(对 JavaScript 来说是全新的)。
更新
正如 Xan 所建议的,我现在使用 xPath 来存储对元素的引用。
//获取元素
//存储它
//稍后在加载时检索它
正如 Xan 提到的,如果页面不是静态的,但它可以满足我的需要,这不是一个完美的方法
google-chrome-extension - 通过指定要获取的对象属性来最小化用于 chrome 存储的流量
在我的扩展中,我将某些域的设置设置为chrome.storage.local
以下格式:
而不是使用chrome.storage.local.get("domainSettings", function(response){})
获取每个域的设置,然后只获取我需要的设置,我怎样才能获取 justgoogle.com.au
的设置。
当我只需要一个时,似乎没有必要获得数百或数千倍的信息。
干杯。
javascript - window.localStorage 与 chrome.storage.local
我正在开发一个 Chrome 扩展程序,我需要存储一些数据,然后在某个时候获取它。我对available storage
s 进行了调查,并遇到了以下问题:window.localStorage
和chrome.storage.local
.
所以我的问题是,哪一个是在 Chrome 扩展中使用的正确选择:
window.localStorage
还是chrome.storage.local
?
PS我browser action
用来加载本地文件HTML
。IFRAME
所以我不使用popup.js
.
javascript - Chrome 扩展:从本地存储中检索数据
我正在尝试构建一个扩展,它在弹出窗口中对测试服务器进行身份验证,并从测试服务器检索数据并通过后台脚本将其存储到本地存储中,并在 popup.html 上显示相同的内容。问题是,我能够存储来自服务器的数据,但无法在第一次身份验证中显示它。我必须再次登录,然后才能显示从测试服务器检索到的数据?任何提示或建议将不胜感激。
Popup.js:
背景脚本.js
内容脚本.js:
背景脚本.js:
在 index.html(扩展的另一个弹出页面)中,我填充 localStorage [“Project”],但我无法一次性填充项目详细信息,我必须重新加载页面,然后只有我能够填充它在 index.html 上
javascript - 变量不会在 Chrome 应用中使用 chrome 存储 API 进行更新
我正在为一段代码而苦苦挣扎。我是 javascript 新手,我已经搜索了几天,但找不到答案。
我正在使用 AngularJs 和 Chrome 存储 API 编写一个 Chrome 应用程序,用于存储两个对象以及离线使用的信息。我已经成功地将数据写入 Chrome 存储,甚至已经检索到它,唯一的问题是,我存储检索到的数据的变量不会更新我的 html 页面。
这是我用于获取以前使用 Chrome 存储 API 存储的数据的代码:
我的 html 文件有 {{controller.maestros}} 并且日志显示数据已被检索,但它不会反映显示的数据。
非常感谢您!
javascript - 为什么对于不太长的字符串会出现 QUOTA_BYTES_PER_ITEM 错误?
我的扩展中有一个代表播放列表的对象,我需要将其保存到chrome.storage.sync。
我知道 4096 QUOTA_BYTES_PER_ITEM,这意味着key.length + JSON.stringify(val).length
必须小于4096。但我的对象是3956(val stringify 长度 + ket 长度),我仍然无法将其写入存储。我究竟做错了什么?
我的对象 JSON 字符串化结果:
以下代码计算要存储在存储中的对象大小:
它返回
我无法理解,也许是因为我的对象中有 UTF-8 非拉丁符号而产生了这种魔力?也许本机端的 chrome 执行此字符的转义 (\uXXXX) 并获得超过 4096 的长度?如果是这样,我怎么能JSON.stringify()
也这样做呢?
google-chrome-extension - chrome storage onChanged - 在扩展的背景和弹出窗口之间
我想存储我的扩展设置 - 由弹出窗口更改:
并在更改此设置时在我的 bakground 页面中接收更新:
我在弹出窗口的日志中看到消息“存储状态的扩展”,但在后台页面的日志中没有看到“收到的更改”。
我如何对此存储对象的更改做出反应?
google-chrome-extension - Chrome DevTools 扩展无法访问存储
我正在编写一个 Chrome 扩展程序,我想从 Devtools 页面访问 Chrome 存储 API。chrome.storage.local 变量(带有 get/set 函数)是可用的,但是当我调用它们时,回调永远不会被调用。当我使用我的后台页面访问存储 API 时,它按预期工作。
当然,我可以通过后台页面发送请求并通过消息将其传递到 Devtools 页面,但我正在寻找一种更清洁的方法。难道我做错了什么?我希望你理解我的问题,为了说明我的问题,我创建了一个我正在处理的小样本,可以在这里下载;http://g2f.nl/0w2kko9。
它包括以下测试,用于验证 API 是否可用但不能按预期工作;
javascript - Chrome extension: can't get value from storage with one click
I have a chrome extension that is using storage and I can't get the value from the storage with one enter click.
There is a single input field. After the user enters a value and presses enter, the extension should take the value from storage and add the user's input to this value. The first enter press it doesn't work, but if user clicks Enter for second time, then stored value is seen.
I assume that problem is in the ordering of functions, but I can't understand where exactly.
Code in correct order:
The whole code can be seen on gitHub repo: https://github.com/iriiiina/fisheyeGraph