Android 10下如何在Cordova配置中指定通用主机名?
Cordova Android 10迁移后多子域名CORS问题解决办法
你遇到的问题源于Android 10及以上版本的Cordova WebView启用了更严格的同源策略,设置单个hostname后,WebView会将该域名下的请求视为同源,从而绕过CORS校验。针对多子域名的场景,可行方案如下:
使用通配符子域名配置:直接在
config.xml里设置通配符格式的hostname,即可匹配所有company.com旗下的子域名:<preference name="hostname" value="*.company.com" />这个配置会让xyz.company.com、pqr.company.com等所有子域名的请求都被视为同源,直接解决CORS错误。
保留基础配置:继续维持
config.xml中的以下配置,它们是允许跨域资源访问和导航的基础:<access origin="*" /> <allow-navigation href="*" />特殊场景备选方案:如果应用还需要访问非
company.com下的外部域名,也可以选择不设置hostname,但需要额外配置WebView允许跨域。不过这种方式安全性较低,优先推荐通配符hostname的方案。
内容的提问来源于stack exchange,提问作者Sandeep
相关产品推荐
相关产品推荐

