PhoneGap Windows Phone 8 - 从www /文件夹访问资源

时间:2013-02-26 17:12:51

标签: javascript jquery cordova windows-phone-8

我正在开发Windows Phone 8上的PhoneGap项目。 我无法找到一个解决方案,可以在运行时从我的javascript访问位于www/文件夹中的资源。

我的项目如下:

- www/
 `- css/
 `- js/
   `- main.js
   `- data1.json
   `- data2.json
 `- index.html

在我的脚本main.js中,我想加载data1.jsondata2.json

我尝试了许多不起作用的解决方案:

来自jquery的AJAX函数

this.op = (function() {
  var val = null;
  $.ajax({
    async: false,
    url: 'www/js/data1.json',
    success: function(data) {
      console.log('DATA: ' + data);
      val = JSON.parse(data);
    }
  });
  return val;
})();
来自PhoneGap的

File plugin sample

fileSystem.root.getFile("js/data1.json", null, gotFileEntry, fail);

我还尝试使用一个函数从根文件系统中列出目录来检查文件系统,这会导致我这样的事情:

`- /
  `- __Application Settings
  `- Microsoft
    `- Internet Explorer
      `- DCOM
  `- Shared
    `- Media
    `- ShellContent
    `- Transfers

这些文件夹中的任何一个都会导致www/或我的捆绑。我找不到动态加载*.json文件的方法。

任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:2)

我的问题是使用亲戚路径来访问我的文件。

我使用了一个requireJS插件来包含我的文件,但是这个插件创建了我的文件的荒谬亲戚路径,如app/../js/data1.json

现在效果很好。

编辑:我更改了插件中路径的计算,以删除无用的目录更改,如下所示:

app/../js/data1.json

变为

js/data1.json

只是一个子字符串,因为每条路径都以相同的方式计算。