假装我的Chrome扩展程序中包含当天的单词。每天我都会有一个新单词,我的扩展程序会在当天浏览器中加载的任何页面上突出显示该单词。我可以有一个旋转的单词列表,但我想在我的网站上保留该列表,以便我可以根据新闻或当前事件轻松更改它。
如何让我的扩展程序每隔X小时获取一次文件内容,并将其保存为变量以备将来使用?
答案 0 :(得分:2)
您需要为background.js中的请求保留类似计时器的内容。 正如Daniel建议的那样,最简单的方法是使用chrome.alarms API。
例如:
<强>的manifest.json 强>
{
"manifest_version": 2,
"name": "My Extension",
"version": "1.0.0",
"background": {
"scripts": [
"background.js"
],
"persistent": false
},
"permissions": [
"alarms",
"storage"
]
}
<强> background.js 强>
chrome.alarms.onAlarm.addListener(alarm => {
fetch('http://your_website_here')
.then(response => response.text())
.then(textResponse => {
chrome.storage.local.set({data: textResponse});
})
.catch(e => {console.error(e)})
});
chrome.alarms.create('fetch_data', {
periodInMinutes: 60 //every hour
});
我建议您使用chrome.storage API来存储您的数据。您可以稍后从内容脚本中检索它。