我正在尝试在当前页面和外部页面上存储密钥。在下面的示例中,我使用谷歌。
url
和x
都在之前的函数中定义。
window.localStorage.setItem(url, x);
var url2 = "http://google.com/";
document.location = url2;
storeToDB(url, x);
function storeToDB(url, x) {
setTimeout(function() { console.log("Waiting..."); }, 1000);
window.localStorage.setItem(url, x);
document.location = url;
console.log("Value Stored");
}
调用该方法,但不存储密钥。 该页面看起来好像正在刷新,所以我知道它正在通过该行。
此代码在chrome-extension上的内容脚本上运行。
答案 0 :(得分:1)
在脚本终止之前,设置location.href不会生效。因此,如果您多次设置,则只会导航到您设置的最后一个值。
更重要的是,一旦浏览器离开页面,在该页面上运行的任何脚本都将无法继续运行。如果您可以将浏览器导航到另一个页面并在那里执行任意代码,那将是一个巨大的安全漏洞。
答案 1 :(得分:0)
根据内容脚本的文档,您不能从那里使用localStorage。您只能使用chrome.storage或从后台页面使用localStorage(通过从内容脚本向其发送消息)