这不是我的第一个混合应用程序(我已经在 Google Play Store 和 Apple Store 上发布了应用程序)。我的目标平台是 Android。我不确定将支持哪些版本,如果我决定完全发布这个想法,我将在稍后确定。我正在使用 Phonegap Build。
我在使 A 元素的 HTML 下载属性起作用时遇到了一些问题。这是我拥有的:
<a download href="http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2014/4/11/1397210130748/Spring-Lamb.-Image-shot-2-011.jpg">Lamb</a>
如果我删除下载属性,图像将在我的 phonegap 应用程序 (Android) 中打开。有了它,什么也不会发生。至少在 Chrome 中也能正常工作。有什么想法吗?
最佳答案
@罗伯特,
我回答了很多 Cordova/Phonegap 问题,就像这个论坛上的很多志愿者一样。因此,您可能会发现此常见问题解答很有用。
从这个常见问题解答中,您想了解#5 - Phonegap 不是 webserver or a webbrowser .这是常见的错误。的确,您可以使用您的网络浏览器来测试您的网页,但不要误以为所有网络浏览器都是一样的。正如 Paul Irish 喜欢提醒的那样,“并非所有的网络浏览器都是平等的”。他的文章Webkit for Developers是一本好书。
我引用
Different ports can have different focuses. The Mac port’s focus is split between Browser and OS, and introduces Obj-C and C++ bindings to embed the renderer into native applications. Chromium’s focus is purely on the browser. QtWebKit offers its port for applications to use as a runtime or rendering engine within its cross-platform GUI application architecture.
需要说明的是,Phonegap 使用了一个名为 webview 的库(在 Android 上,在其他平台上类似)。当前版本基于 Chromium 的“webkit”,但之前它基于旧版本的 Android“webview”——已经存在多年。然而,即使您正在寻找的属性也可能不可用。
最好的起点是 caniuse.com .搜索 download显示主要支持下载
,但缺少 IE、Safari 和 Opera。否则,它似乎可用,但仅适用于 4.4 之后的 Android。看着我的 notes这似乎与 Android 开始使用 Chromium 的 webkit 而不是过时的 webview 库一致——正如我之前所说。
可能的解决方案
正如@jcesarmobile 提到的,您可以使用
_OR_
您可以尝试另一个可能具有您正在寻找的属性的 webview 库 - 喜欢crosswalk .
此时,crosswalk仅支持 Android,但也有一些 beta 版本您也可以尝试,它们在 the repository 中.而且,如果你的目标平台是 iOS,那么使用 WKWebview相反。
注意标准的 webview 库已经在您的移动设备上,crosswalk 是独立的,并且会为您的应用增加至少 20 兆字节。
关于android - 下载属性在 Phonegap 应用程序中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35960412/