我使用Multi-Device Hybrid App Preview(AFAIK使用cordova)创建跨平台应用,但我无法弄清楚如何加载应用包中包含的内容文件
似乎没有任何Cordova特定的API可以访问app-package内容所以我尝试使用简单的jQuery ajax调用加载它
$.ajax({
url: "./res/resource.txt", // relative path to www folder
type: "get",
contentType: "application/text",
success: function (text) {
},
error: function (e) {
}
});
但这会导致找不到文件错误。 我也尝试使用像这样的完全限定路径来加载它:
function getPhoneGapPath() {
var path = window.location.pathname;
path = path.substr(0, path.length - 10);
return 'file://' + path;
};
$.ajax({
url: getPhoneGapPath()+"/res/resource.txt", // relative path to www folder
type: "get",
contentType: "application/text",
success: function (text) {
},
error: function (e) {
}
});
但这会导致错误:拒绝访问。错误。 有关如何访问cordova中应用程序包内容的任何提示?
答案 0 :(得分:1)
使用相对路径,但丢失./
例如
$.ajax({
url: "res/resource.txt", // relative path to www folder
type: "get",
contentType: "application/text",
success: function (text) {
},
error: function (e) {
}
});
请记住,如果您导航到更深的路径,例如/ foo /您的相对路径将基于此。
一种解决方案是根据应用程序的绝对路径解析当前路径。
载入时:
var basePath = window.location.href;
然后根据您当前的位置和基本路径构建相对路径。