我目前正在开发一个WebExtensions(Firefox + Chrome),其目标是在某些网站上显示自定义消息,指示用户应使用特定的URL(通过代理)访问它们以获得对内容的完全访问权限(I我在大学工作,如果用户想要阅读我们为他们购买的论文的全文,他们需要通过我们的EZProxy服务器。
事情是资源列表正在发生变化,例如新的订阅,我希望我的扩展能够了解这个列表。我可以从我的服务器将其作为JSON提供,但是我需要我的扩展来定期检查这个json并采取相应的行动。
目前我编写的代码中,ezproxy.js
在manifest.json中定义为:
"content_scripts": [
{
"matches": [
"*://*/*"
],
"js" : [
"ezproxy.js"
]
}
]
我不确定这是最好的方法,因为它可以在任何网站上运行,即使只涉及约100个域名。但由于我不想每次添加/删除新域时都更新我的扩展,我想不出任何其他选项。我错过了什么?
使用此manifest.json
,我的伪代码看起来像:
var host = window.location.host;
for ( var domain in <MYLIST> )
{
if ( RegExp(domain + "$").test(host) )
{
// Display the message
}
}
我正在考虑将Storage API与序列化数据一起使用,但我想知道如何确保我的本地存储定期更新。 Web扩展中最简单的方法是每24小时运行一次针对服务器的测试来更新本地存储?
如果这是最好的方式