【问题标题】:Cordova: Launching chrome with --allow-file-access-from-files from VS 2017Cordova:使用 VS 2017 中的 --allow-file-access-from-files 启动 chrome
【发布时间】:2018-04-19 15:15:30
【问题描述】:

我正在 Visual Studio 2017 中开发一个 cordova 应用程序,我正在尝试使用文件插件访问文件系统。不幸的是,这在使用“在浏览器中模拟”(使用 cordova-simulate)调试应用程序时不起作用。

“安全错误:确定某些文件在 Web 应用程序中访问不安全,或者对文件资源进行了太多调用。”引发错误。

我猜是否必须将“--allow-file-access-from-files”选项传递给chrome,但我不知道该怎么做,因为chrome会在新窗口中自动启动,我找不到Visual Studio 中的任何配置选项。

【问题讨论】:

  • @Colin 您好,一旦您使用cordova CLI 构建了浏览器平台,您必须在命令提示符下导航到“/platforms/browser/cordova”文件夹。运行命令 - 'run -- --target=chrome --port=8000 --allow-file-access-from-files'。您可以在“/platforms/browser/cordova”文件夹中找到有关“运行”文件的更多信息。希望有帮助

标签: visual-studio cordova visual-studio-2017 visual-studio-cordova


【解决方案1】:

一些Chrome Quirks 是:

  • Chrome 文件系统在设备就绪事件后未立即就绪。作为一种解决方法,您可以订阅filePluginIsReady 事件。 示例: javascript window.addEventListener('filePluginIsReady', function(){ console.log('File plugin is ready');}, false); 您可以使用window.isFilePluginReadyRaised 函数来检查事件是否已经引发。
  • window.requestFileSystem TEMPORARY 和 PERSISTENT 文件系统配额在 Chrome 中不受限制。
  • 要增加 Chrome 中的持久存储,您需要调用 window.initPersistentFileSystem 方法。永久存储配额默认为 5 MB。
  • Chrome 需要 --allow-file-access-from-files 运行参数以通过 file:/// 协议支持 API。
  • 如果在获取现有Entry 时使用标志{create:true}文件 对象将不会更改。

表格上面的怪癖使用基本步骤here:

在撰写本文时,Google Chrome 拥有 FileSystem API 的唯一有效实现。尚不存在用于文件/配额管理的专用浏览器 UI。要将数据存储在用户的系统上,可能需要您的应用程序request quota。但是,为了测试,Chrome 可以使用 --unlimited-quota-for-files 标志运行。此外,如果您正在为 Chrome 网上应用店构建应用程序或扩展程序,则可以使用 unlimitedStorage 清单文件权限来代替请求配额。最终,用户将收到一个权限对话框,用于授予、拒绝或增加应用的存储空间。

如果您从 file:// 调试应用,您可能需要 --allow-file-access-from-files 标志。不使用这些标志将导致 SECURITY_ERRQUOTA_EXCEEDED_ERR FileError。

【讨论】:

  • 是的。但是如何使用 VS 2017 中的 --allow-file-access-from-files 启动 chrome?也看到这个链接的问题stackoverflow.com/questions/48100633/…
  • @Colin 在你的 Chrome 地址栏中输入 chrome://version,它会告诉你应该使用什么“命令行”调用。只需添加 --allow-file-access-from-files 到那个。
  • 谢谢 Asif,我试过了 - 在命令行中添加了 --allow-file-access-from-files--unlimited-quota-for-files,但发现我仍然遇到安全错误
猜你喜欢
  • 2012-01-23
  • 2013-09-06
  • 1970-01-01
  • 2011-05-15
  • 1970-01-01
  • 2014-05-13
  • 1970-01-01
  • 2012-05-26
  • 2018-04-03
相关资源
最近更新 更多