首页 > 解决方案 > 将页面保存到 chrome.storage.sync

问题描述

我正在制作一个 chrome 扩展来保存和加载网页。(例如,您想在页面被更改之前存储它,或者您自己修改了该页面并想要保存它)。

我现在所做的是我在 activetab 中运行代码,以使用页面 URL 的键将页面的 innerHTML 保存在 localstorage 中。

'use strict';


let saveButton = document.getElementById('saveButton');

saveButton.onclick = function(element) {
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
  chrome.tabs.executeScript(
      tabs[0].id,
      {code: 'localStorage[window.location.href] = document.documentElement.innerHTML;'});
});
};


let loadButton = document.getElementById('loadButton');

loadButton.onclick = function(element) {
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
  chrome.tabs.executeScript(
      tabs[0].id,
      {code: 'document.documentElement.innerHTML = localStorage[window.location.href];'});
});
};

这工作正常,但我希望它chrome.storage.sync能够同步到用户的 Google 帐户。 (如果它使用它的 url 作为键,这也不会干扰页面)

我怎样才能做到这一点?

我尝试chrome.storage.sync.set在选项卡内部使用,但这不起作用(我假设它必须以某种方式在 popup.js 中完成

谢谢。

标签: javascripthtmldomgoogle-chrome-extension

解决方案


这不是执行此操作的适当方法。chrome.storage.sync有很大的限制。


推荐阅读