借助Chrome 46,Google引入了automatic tab discarding feature。一段时间后,此功能默认启用。我正在开发Chrome扩展程序并在选项页面中运行长时间运行的进程,而不是后台页面。一段时间后,此选项卡会消耗适量的内存,如果它未处于活动状态,则会被丢弃。如何防止选项页面被丢弃?如果无法使用选项页面,如何使用背景页面完成它,如何使背景页面永远运行而永不丢弃?
答案 0 :(得分:1)
如果您的选项页面未使用用户输入,则最好在后台页面中运行该过程。如果您想在后台执行此操作,可以将其标记为持久性,但持久性是当前的默认值。
的manifest.json
"background": { "scripts": [ "background.js" ], "persistent": true }
但是,可以防止标签被自动丢弃。
options.js
chrome.tabs.getCurrent(function({ id }) {
chrome.tabs.update(id, { autoDiscardable: false })
})
https://developer.chrome.com/extensions/background_pages https://developer.chrome.com/extensions/tabs