如何指示Chrome扩展程序在每次打开HTML时都不要重新加载HTML?

李·洛夫蒂斯(Lee Loftiss)

我正在使用Chrome扩展程序,每次打开它时都需要它来保持其状态。

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

此页面上,我找到了清单的示例。它导致我将以下内容添加到清单中,但是没有用:

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

有没有办法保持开口之间的延伸状态?

可汗

首先,请阅读Chrome扩展体系结构概述

弹出页面是“废弃”页面,仅在弹出窗口打开时才存在。你不能影响那件事。一旦弹出窗口失去焦点,其HTML文档将被销毁。

相反,只要Chrome运行,就会存在一个背景“页面”(通常没有HTML标记,因此通常使用"scripts"代替"page""persistent": true这样,它可以保存状态信息。但这是一个看不见的页面。

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

最小示例:

// popup.js
// Suppose #myInput is a text input
document.addEventListener('DOMContentLoaded', function() {
  chrome.storage.local.get({setting: "default value"}, function(data) {
    var inputElement = document.getElementById("myInput");
    inputElement.value = data.setting;
    inputElement.addEventListener("input", function(e) {
      chrome.storage.local.set({setting: e.target.value});
    });
  });
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从Chrome扩展程序popup.html中重新加载当前标签页?

如何自动重新加载chrome扩展程序?

如何制作一个在每次打开时都不要求许可的脚本

如何制作一个在每次打开时都不要求许可的脚本

每次加载页面时,如何从后台向 Chrome 扩展程序中的弹出窗口发送消息?

如何在每次获得新的数据库条目时更新html而不重新加载页面

如何防止Chrome扩展程序在同一弹出窗口仍处于打开状态时重新打开它?

如何自动重新加载正在开发的Chrome扩展程序?

如何在Chrome扩展程序中重新加载某些标签

Chrome打包的应用:每次重新加载时都必须打开检查器

如何使Chrome浏览器扩展程序打开外部页面,而不是打开默认页面popup.html

Chrome扩展程序:使其在每次加载页面时运行

如何让 chrome 扩展加载网站而不是 window.html

Chrome扩展程序在加载错误时重新加载页面

如何调用api url方法,以便每次从后台进入前台时重新加载应用程序?

Chrome-扩展程序加载时崩溃

为什么每次将新条目提交到表单时都重新加载我的HTML页面?

Chrome 扩展程序:如何通过单击 html 弹出窗口中的按钮在新选项卡中打开指定链接?

Google Chrome扩展程序:页面重新加载后如何立即注入脚本?

用户重新加载页面后如何执行代码?(Chrome 扩展程序)

Chrome扩展程序:如何在页面加载时运行Javascript(不打开弹出窗口)

如何使用Chrome扩展程序/插件访问HTML元素?

Chrome扩展程序消息传递-如何传递HTML

Chrome扩展程序提取错误的元数据而没有重新加载整个页面(原始HTML和浏览器的解释之间存在差异)

如何在浏览器操作点击时通过 API 发送完整的 HTML(在 JS 之后加载) - Chrome 扩展?

保持Chrome扩展程序在页面上重新加载

Chrome [VM]文件在每次加载时创建事件处理程序

无法在 Chrome 应用程序中重新加载打开的页面

如何避免每次导航到页面时重新加载数据