android - 下载属性在 Phonegap 应用程序中不起作用

标签 android html cordova phonegap-build

这不是我的第一个混合应用程序(我已经在 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/

相关文章:

android - Android 模拟器的三星系统镜像?

ios - 在构建 : GoogleCloudMessaging. h 时,phonegap-plugin-push 错误 65 已弃用。我们可以从项目中删除它吗?快速解决?

android - 带有 Apache Cordova 的 Visual Studio 2015 RC 中的 "Publish Android App"没有执行任何操作

javascript - Div 无法使用 angularjs 正确显示

html - 让滚动条忽略页面顶部的固定div

html - 在文本上使用 alt 或标题

cordova - 从 Apache Cordova 开始

php - Android 和 PHP 连接到 MySQL 数据库

android - libgdx gradle - 忘记制作 android 项目

android - 在 Android 中双击主页按钮