我从 http 响应中收到一个文件,例如
http://max.com/test/getDoc?file=Zsdeiyigkbmf=asdasdhhghGthDEGB=b==cd
pdf 存在于服务器中,成功的 ajax 调用会返回二进制数组中的路径。它必须加密,我看不到实际路径。执行以下代码后,它会直接获取并下载所需的 pdf 文件 -
window.location="http://max.com/test/getDoc?file=Zsdeiyigkbmf=asdasdhhghGthDEGB=b==cd"
现在这段代码可以在 Chrome 或任何其他浏览器上正常运行。但是,相同的代码在phonegap cordova(版本4.2.0)中不起作用。没有错误,没有来自客户端的消息。
最佳答案
从 Cordova 5.0.0 开始,需要使用白名单
系统。因此,您需要知道正在通信的服务器的域名。
我要给你的解决方案是针对一般开发的。此方法不适用于生产或最终发布,因为 Google 和 Apple 都会拒绝您的应用;除非你有充分的理由告诉我们!
此白名单工作表应该有所帮助。
HOW TO apply the Cordova/Phonegap the whitelist system
自 Cordova Tools 5.0.0 起为必需(2015 年 4 月 21 日)。
对于 Phonegap Build,这意味着从 cli-5.1.1
开始(2015年6月16日)
将此添加到您的config.xml
<plugin name="cordova-plugin-whitelist" source="npm" spec="1.1.0" />
<allow-navigation href="*" />
<allow-intent href="*" />
<access origin="*" /> <!-- Required for iOS9 -->
请注意,您的应用程序现在不安全。保护您的应用程序的安全取决于您。
将以下内容添加到您的 index.html
<meta http-equiv="Content-Security-Policy"
content="default-src *;
style-src * 'self' 'unsafe-inline' 'unsafe-eval';
script-src * 'self' 'unsafe-inline' 'unsafe-eval';">
关于javascript - 下载通过phonegap中的HTML Response接收到的文件(android平台),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34389218/