3

一旦我尝试在本地计算机上创建 PhoneGap 2.2.0 构建以及 PhoneGap Build 云服务,我的主干.js 路由器似乎失败了。

这意味着尽管显然触发了触摸事件,但应用程序上的任何内部链接和导航都不起作用。

到目前为止,我的应用程序通过 Chrome 和 iOS 模拟器在本地运行良好。我可以找到很多关于 jQuery Mobile 以及与主干.js 路由器的冲突,但我使用的是 jQuery 1.8.2(我还使用早期版本 1.7.0 到 1.8.2 进行了测试)。

在 Xcode 控制台中,单击内部链接时出现错误“无法加载网页并出现错误:帧加载中断”。我对应用程序中的内部链接使用“/#link”格式。

我猜这可能是我设置的香草 PhoneGap Xcode 项目中的某种 iOS/Xcode 安全功能?但是我可以更改任何设置以允许这样做吗?

4

3 回答 3

0

将此路由器与 Backbone 和 JQM 一起使用可能会取得更大的成功,因为它使用 JQM 事件而不是监视变化。

https://github.com/azicchetti/jquerymobile-router

于 2012-12-04T18:52:26.160 回答
0

好的,我最好回答我自己的问题,因为经过相当多的尝试后,我确实找到了解决方法。我现在会尝试快速回答,但希望稍后回来并改进它。基本上,而不是使用嵌入在标记中的标准链接,例如

<a id="myLink" href="/#link">my link</a>

您需要将功能绑定到链接并使用 Backbone.js 路由器,如下所示:

$('#myLink').tappable(function(event){
    event.preventDefault();

    var url = $(this).attr('href');
    application.router.navigate(url, true);

    return false;
});

就我而言,我已经在使用 jquery.tappable.js http://aanandprasad.com/articles/jquery-tappable/来提高我的 UI 的响应能力。

我还发现这样做的另一个好处是,如果您的单页网络应用程序托管在另一个站点的子文件夹中。通过强制您的应用程序使用 Backbone.js 路由器,您不会遇到破坏内部链接的相对路径的任何问题。

我认为我在测试过程中没有遇到任何问题并且只有一次符合 Phonegap 的原因是因为我真的是在 Safari 移动设备上进行测试(通过主屏幕上的书签)。一旦遵守,它就在网络视图中。本地 iOS 开发人员可能能够解释这一点。

于 2013-03-21T17:00:56.670 回答
0

朋友。我尝试了另一种方式,它有效。只需删除飞溅我的链接

于 2015-04-27T12:38:09.713 回答