在使用资产的绝对路径 URL 阅读 iOS 上的 PhoneGap后,我真的很困惑, 并且有几个问题:
Phonegap 是否支持根相对路径?例如,用于混合移动开发的Ionic 框架在他们的示例中有这样的路径:
<script src="//ionic/js/ionic.bundle.min.js"></script>
Phonegap 路径的最佳实践是什么?
在使用资产的绝对路径 URL 阅读 iOS 上的 PhoneGap后,我真的很困惑, 并且有几个问题:
Phonegap 是否支持根相对路径?例如,用于混合移动开发的Ionic 框架在他们的示例中有这样的路径:
<script src="//ionic/js/ionic.bundle.min.js"></script>
Phonegap 路径的最佳实践是什么?
基本上,在电话间隙开发中,与您的代码有关的所有内容都位于www文件夹中。
-myApp
-www
-index.html
-img
-js
-css
-libraries
-templates
最好的办法是仅将文件引用为js/file.js
相css/file.css
对于 index.html 的文件。
根相对路径可能会根据平台发生冲突,因此会造成不必要的麻烦。
根相对路径:
做这样的事情:
<link href="/css/app.css">
如果您有本地服务器设置并将您的myApp/www
文件夹设置为根,这将在您的浏览器中运行。
但是,当您在 cordova 中构建应用程序并在手机上对其进行测试时,它会显示不正确,因为它没有对该服务器根目录的任何引用,并且会将其引用为file:///
.
绝对路径
绝对路径需要您提及完整地址。创建应用程序时,您的代码位于该myApp/www
文件夹中。但是当您构建应用程序(假设是 android)时,它会被移动到该platforms/android/assets/www
文件夹中。因此,您的绝对路径将再次出错。
远程服务器
您的应用程序显然与远程服务器交互。如果您将图像存储在远程服务器上,则必须在应用程序中使用绝对路径引用它们。
我在尝试解决相同/相似的挑战时偶然发现了这个旧线程,图像不在设备上呈现,但奇怪的是,在使用实时服务器或 Chrome 浏览器运行时会呈现。
如果您正在阅读本文,则图像的文件规范也区分大小写。Chrome 不在乎,但 Cordova (Phonegap) 不在乎!
请参阅此链接 https://github.com/apache/cordova-ios/issues/883#issuecomment-643657781
你可以像这样在config.xml中添加prefrence标签
<preference name="scheme" value="app" />
在 cardova 和 phonegap 中,他们使用自定义协议(app://)来引用本地可用的文件。