这是在某些 Android 设备上发生的问题。
我有一个Samsung Galaxy A5 (2017)
与谷歌Chrome version 76.0.3809.89
和 Android 版本 8.0.0。
当我第一次在此设备上部署 Cordova 应用程序并发出 POST 请求时,我收到有关 CORS 的错误:
Access to XMLHttpRequest at 'http://foo.com/bar' from origin 'file://' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
我可以从 Chrome 的开发工具网络选项卡中看到这个 POST 请求没有origin
范围。
如果我从任务管理器关闭应用程序并再次启动它,我可以成功发出此请求,并且 chrome 根据请求发送“origin”参数。
如果我从设备设置中删除应用程序的数据,我可以再次重现该问题。
我完全确定这不是问题Content-Security-Policy
or cordova-whitelist-plugin
配置,因为正如我之前提到的,在其他一些 Android 设备上,该应用程序运行得很好。
我需要提到的其他事情是,使用人行横道插件我没有这个问题。
这是 Chromium webview 上的一个开放错误,对 76 版本很有趣;在此特定版本中,OOR-CORS 在第一次运行时保持启用状态。
https://bugs.chromium.org/p/chromium/issues/detail?id=991107#c14 https://bugs.chromium.org/p/chromium/issues/detail?id=991107#c14
变更列表将直接合并到76分支。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)