我们正在使用 Phonegap/Cordova 2.3.0 将应用程序部署到 Windows Phone 7。该应用程序使用 Require.js 动态加载所有模块。一个模块称为“路由器”,负责从本地文件中获取静态 html 并将其内容加载到<div>
. 这适用于 iPhone、iPad 和 Windows Phone 8。但是在 WP7 中发生了一些奇怪的事情。
示例代码来自router.js
:
//path that works with WP8
var path = "www/views/";
$.ajax({ url: path + "test3.html" })
.done(function(html) {
alert(html); //result from Windows Phone 8
}).fail(function(error) {
alert(error); //result from Windows Phone 7
});
在 WP7 上测试时给出的错误是 404 Not Found。
我说“发生了一些奇怪的事情”,因为我可以将上面的确切代码复制到main.js
(require.js 入口点),或者index.html
它将运行而不会出错。但是当我将该代码放入我的 中时router.js
,它会返回错误。
一些观察:
router.js
与 位于同一文件夹 (/www/js
) 中main.js
。index.html
在/www
文件夹中。- 我已经尝试了所有我能想到的路径组合,希望能偶然发现一个可行的路径组合。
/app/www/views
,app/www/views
,/www/views
,www/views
,/views
,views
, 甚至x-wmapp0:/app/www/views
和x-wmapp1:/app/www/views
。 - 显然,我提供了一个超级简化的例子。如果您需要更多,请告诉我。