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

2023-12-29

这不是我的第一个混合应用程序(我已经在 Google Play 商店和 Apple Store 上发布了应用程序)。我的目标平台是Android。我不确定将支持哪些版本,如果我决定发布这个想法,我将在稍后确定。我正在使用 Phonegap Build。

我在使 A 元素的 HTML Download 属性正常工作时遇到一些问题。这是我所拥有的:

<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 中也能正常工作。有任何想法吗?


@罗伯特,
我回答了很多科尔多瓦/Phonegap像这个论坛上很多志愿者的问题。因此,您可能会发现此常见问题解答很有用。

  • Cordova/Phonegap 新手开发人员最容易犯的错误 https://github.com/jessemonroy650/top-phonegap-mistakes/blob/master/new-to-Phonegap.md

从这个常见问题解答中,您需要了解#5 - Phonegap 不是网络服务器或网络浏览器 https://github.com/jessemonroy650/top-phonegap-mistakes/blob/master/new-to-Phonegap.md#005。这是常见的错误。确实,您可以使用网络浏览器来测试页面,但不要误以为所有网络浏览器都是相同的。正如保罗爱尔兰喜欢提醒使用“并非所有网络浏览器都是平等的”。他的文章面向开发人员的 Webkit http://www.paulirish.com/2013/webkit-for-developers/是一本好书。

I quote

不同的端口可以有不同的侧重点。 Mac 移植的重点是浏览器和操作系统,并引入 Obj-C 和 C++ 绑定将渲染器嵌入到本机应用程序中。 Chromium 的重点纯粹是浏览器。 QtWebKit 为应用程序提供了其端口,以在其跨平台 GUI 应用程序架构中用作运行时或渲染引擎。

需要明确的是,Phonegap 使用一个名为webview https://github.com/jessemonroy650/top-phonegap-mistakes/blob/master/webview.md(对于 Android,以及其他平台上的类似)。当前的版本基于 Chromium 的“webkit”,但之前它是基于旧版本的 Android“webview”——该版本已存在多年。然而,即使有您正在寻找的属性也可能不可用。

最好的起点是caniuse.com http://caniuse.com/。寻找download http://caniuse.com/#search=download表明download主要支持,但缺少 IE、Safari 和 Opera。否则,看起来它是可用的,但仅适用于 4.4 之后的 Android。看着我的notes https://github.com/jessemonroy650/top-phonegap-mistakes/blob/master/webview.md这似乎与 Android 开始使用 Chromium 的 webkit,而不是过时的 webview 库相一致——正如我之前所说。

可能的解决方案

正如@jcesarmobile 提到的,你可以使用

  • cordova-插件-文件传输 https://www.npmjs.com/package/cordova-plugin-file-transfer

_OR_

您可以尝试另一个可能具有您正在寻找的属性的 webview 库 - 喜欢人行横道 http://phonegap.com/blog/2015/06/16/phonegap-updated-on-build/.

此时,人行横道 https://crosswalk-project.org/仅支持Android,但也有一些测试版本您也可以尝试存储库 http://cordova.apache.org/plugins/?q=crosswalk。并且,如果您的目标平台是 iOS,则使用WKWebview http://cordova.apache.org/plugins/?q=wkwebview反而。

NOTE标准 webview 库已经在您的移动设备上,crosswalk 是独立的,并且会为您的应用程序增加至少 20MB 的空间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

下载属性在 Phonegap 应用程序中不起作用 的相关文章

随机推荐