我正在开发一个用于 Canvas LMS 的 Chrome 扩展程序。这样做的一个问题是 Canvas 订阅者有不同的 URL,这些 URL 没有共同的顶级域。例如,我大学的 Canvas 网站有 URL canvas.gu.se
,而另一所学校可能有canvas.myschool.edu
. 但我无法输入文件,因为不允许"matches":"https://canvas.*/*"
使用 manifest.json
顶级通配符(请参阅这篇文章进行详细说明)。相反,我必须输入"matches":"https://*/*"
,然后以编程方式(在content.js
代码中)清除其中没有“画布”的站点。
这以它自己的笨拙方式运作,但 Chrome 网上应用店对此并不满意,这导致我的更新延迟了几天。
当然可以使用一个窄/虚拟matches
值,然后要求用户自己编辑清单以包括在每种情况下使用的特定 URL,但他们这样做的可能性有多大?相反,我希望扩展程序启动一个本地页面,提示用户输入特定的 URL,然后相应地编辑该manifest.json
特定机器上的文件。那有可能吗?如果可以,怎么做?