我正在开发chrome app,在我的应用程序用户可以将外部内容下载到他们的本地目录,访问用户的文件系统我正在使用 chrome.FileSystem API,我可以访问用户的本地目录,我也可以通过将用户选择的目录保存到localStorage来将下载的内容写入其目录。
我的问题是我想使用webview / iframe在主html文件中打开这些文件,如果可能使用iframe会更好但我在两种情况下都会出错 -
获取完整路径我正在使用下面的代码 -
chrome.fileSystem.getDisplayPath(chosenEntry, function(path) {
console.log("path"+path);
// for now i am adding static path to it for testing purpose
var finalPath = path+'/folder/index.html'; //Here finalPath is a valid path , can be accessible from browser
});
如果我使用iFrame加载它 -
拒绝框架'路径',因为它违反了以下内容安全策略指令:“frame-src'self'blob:filesystem:data:chrome-extension-resource:”。
当我尝试使用webview时 -
:加载已中止且错误-301:ERR_DISALLOWED_URL_SCHEME。
我还试过在manifest.json文件中给予权限 -
"permissions": [
"file:///*"
]
注意:用户可能拥有下载内容的数量,每个内容都有自己的文件夹,因此我必须根据用户操作打开其中任何内容。