如何在chrome扩展中以编程方式读写脚本以供脱机使用?

时间:2016-03-03 16:25:42

标签: google-chrome google-chrome-extension

我需要预定义的脚本,可以从chrome content_script访问,可以从给定的URL自动更新。

正是我的所作所为:

我有content_script.js。在其中,我想从预定义的html + css + js为当前页面创建iframe。有时可以更改html或css或js。我想避免更新扩展,相反,每次用户上网时,他都可以加载新的html + css + js以便进一步离线使用。

那么,如何从内容脚本中读取和写入扩展内的一些内部文件(或将此任务委托给后台脚本)?

2 个答案:

答案 0 :(得分:2)

您可以使用HTML5 Filesystem为文件设置读/写位置,或者只需将其存储为chrome.storage中的字符串(根据需要"unlimitedStorage"权限),以便以后重复使用。

然后可以使用executeScript在内容脚本中执行此代码,或者,如果在扩展CSP中启用'unsafe-eval',则在主脚本中执行此操作(这很危险,大多数情况下都应避免使用例)。

请注意,此文件系统API有一个警告,它仅在Chrome中受支持,但这不应该是一个问题(Firefox / WebExtensions平台明确拒绝自我更新机制)。< / p>

答案 1 :(得分:1)

您可以阅读扩展文件内容,但不能写入扩展程序文件夹,因为它是沙箱。

要读取扩展文件,您只需使用/p:VisualStudioVersion=10.0作为url

发送Ajax调用
chrome.runtime.getURL("filepath")