我一直试图编写一个Chrome扩展程序,用于跟踪浏览浏览器窗口的所有用户并将此数据发送到 chrome.storage.sync
我看到chrome.storage中记录的任何数据都没有成功,我不确定是否因为我在下面列出的 scroller.js 脚本,或者我没有指示 .storage 正确。
我已经无法找到此处发布的其他答案的解决方案,因此我们将非常感谢您的帮助!
的manifest.json
{
"manifest_version": 2,
"name": "Caressing the Silver Rectangle",
"description": "Measures Jesse Bowling's distance scrolled in pixels on Google Chrome",
"version": "1.0",
"content_scripts": [
{
"matches": [
"<all_urls>"
],
"js": [
"scroller.js"
],
"run_at": "document_start"
}
],
"background": [
{ "scripts": ["https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"]
}
],
"browser_action": {
"default_icon":"icon.png",
"default_title": "Caressing the Silver Rectangle",
"default_popup": "popup.html"
},
"permissions": [
"activeTab",
"<all_urls>",
"tabs",
"storage"
]
}
scroller.js
/*jslint devel: true */
var totalScroll;
var lastKnownScrollPos = 0;
window.addEventListener("scroll", function () {
"use strict";
console.log(lastKnownScrollPos);
totalScroll += Math.abs(window.scrollY - lastKnownScrollPos);
lastKnownScrollPos = window.scrollY;
chrome.storage.local.sync({ scroll: totalScroll });
});
答案 0 :(得分:0)
没有方法.sync
。
要将数据放入存储空间,您应该使用:
chrome.storage.local.set({scroll: totalScroll})
考虑一下,您需要什么样的存储空间:
- local
存储用于在chrome实例内本地保存数据
- sync
存储有助于在浏览器之间同步数据
chrome.storage.sync
和chrome.storage.local
实现StorageArea
接口。其方法描述为here