我有一个fiori应用程序,它有一个嵌入式IFRAME,可以生成XMLHttpRequest。 IFRAME src指向“ https://myserver:port/some/path/iframe.html ”,页面中的请求发送到同一服务器 - “ https://myserver:port/some/path/request_uri ”(POST请求) )。 这适用于桌面/移动浏览器和iOS的Fiori应用程序,但对于“404 Not Found(来自缓存)”的Android应用程序失败。我不确定为什么它会正常加载页面( https://myserver:port/some/path/iframe.html )但是请求失败。
一些研究似乎表明这是由Cordova引起的,我需要添加cordova插件白名单--GitHub - apache / cordova-plugin-whitelist:Apache Cordova插件白名单镜像。
看起来请求应该可以正常使用config.xml
中的以下内容<access origin="*" />
但它不起作用。我甚至尝试在iframe页面和LaunchPad页面中添加非常松散配置的CSP元标记:
<meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'">
但请求似乎仍然被阻止并返回“404 Not Found(来自缓存)”。
有没有人知道如何解决这个问题?
答案 0 :(得分:0)
您也许可以尝试将allow-navigation添加到config.xml
<allow-navigation href="myserver:port/*/*" />
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-whitelist/
您也可以尝试使用Android的logcat工具。有可能使用它来查明问题。