Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome extension 如何指示Chrome Extension在每次打开时不重新加载HTML?_Google Chrome Extension - Fatal编程技术网

Google chrome extension 如何指示Chrome Extension在每次打开时不重新加载HTML?

Google chrome extension 如何指示Chrome Extension在每次打开时不重新加载HTML?,google-chrome-extension,Google Chrome Extension,我正在处理一个Chrome扩展,我需要它在每次打开时保持其状态 例如,我有一个输入元素,在我关闭并重新打开扩展后,它需要保持填充状态 在上,我找到了清单的一个示例。这导致我将以下内容添加到清单中,但它不起作用: "background": { "persistent": true, "page": "popup.html" } 有没有办法保持开口之间的扩展状态?首先,请阅读Chrome扩展的说明 弹出页面是一个“一次性”页面,只有在弹出页面打开时才存在;你不能影响这一点。一旦弹出窗口失去焦点

我正在处理一个Chrome扩展,我需要它在每次打开时保持其状态

例如,我有一个输入元素,在我关闭并重新打开扩展后,它需要保持填充状态

在上,我找到了清单的一个示例。这导致我将以下内容添加到清单中,但它不起作用:

"background": {
 "persistent": true,
"page": "popup.html"
}

有没有办法保持开口之间的扩展状态?

首先,请阅读Chrome扩展的说明

弹出页面是一个“一次性”页面,只有在弹出页面打开时才存在;你不能影响这一点。一旦弹出窗口失去焦点,其HTML文档将被销毁

相比之下,只要Chrome运行,背景“页面”(通常没有HTML标记,因此通常使用
“脚本”
,而不是
“页面”
)就存在
“持久”:true
。因此,它可以保存状态信息。但这是一个看不见的页面

正确的方法是使弹出页面动态化,将其状态保存到后台和/或各种存储API,并在打开时恢复状态

最简单的例子:

//popup.js
//假设#myInput是文本输入
document.addEventListener('DOMContentLoaded',function(){
chrome.storage.local.get({setting:“default value”},函数(数据){
var inputElement=document.getElementById(“myInput”);
inputElement.value=data.setting;
inputElement.addEventListener(“输入”,函数(e){
chrome.storage.local.set({setting:e.target.value});
});
});
});

感谢您提供的链接和信息。这个链接特别有用。@LeeLoftiss有趣的是,我觉得在我回答的一半问题中,我必须给出这个链接。这必须是文档中更突出的一部分,因为这基本上是理解一切工作原理所必需的阅读。我同意。我读了很多关于扩展的书,但我以前从未注意到这一页。在您的解决方案中,您使用了chrome存储。你会建议同时使用HTML5本地存储吗?我这样问主要是因为我想在以后为Firefox做一个扩展,这似乎会模仿我以后必须做的移植。简而言之,您可以在扩展页面中使用
localStorage
,但不能在内容脚本中使用。谢谢我认为HTML5本地存储可以满足我的需求。