我正在尝试使用PhoneGap让我的jQuery Mobile网站在Android上运行(立即使用Galaxy S3进行测试,Android 4.0.4)。
我在尝试使用设备的“后退”按钮返回我网站的主页时收到“发生网络错误......”的应用程序错误。我正在返回的页面是最初链接到使用“data-ajax = false”的页面。
我可以按如下方式复制错误:
它抛出的确切错误是:
发生网络错误。 (文件:///android_asset/www/index.html#/android_asset/www/help.html
奇怪的是,如果我在访问“data-ajax = false”链接页面之前没有访问其他页面,则不会抛出任何错误,并且页面按预期工作。
我似乎无法在解决方案上找到任何在线资源。
我已经尝试在index.html中设置$ .support.cors和$ .mobile.allowCrossDomainPages = true但这没有做任何事情。两个链接之间的唯一区别是,一个具有data-ajax = false而另一个不具有。我用两个相同的页面重现了错误,所以我确定页面的内容无关紧要。
以下是我如何链接页面:
<a href="help.html">Help</a>
和
<a href="test.html" data-ajax="false">Test</a>
任何建议都会受到赞赏,或者对正在发生的事情做出解释。
答案 0 :(得分:0)
您应该避免在phonegap应用中使用data-ajax =“false” - 因为它会导致整页重新加载,您将丢失状态并重新初始化每个页面上的phonegap脚本,而不仅仅是在应用启动时。
虽然我无法100%确定,但是有可能连接到为什么url在那时不起作用 - android_asset可能不是设备的根文件夹,并且触发了/ android_asset的加载来自部分初始化页面的/www/help.html可能无法按预期工作。
如果您没有首先访问ajax页面,则网址上没有哈希值,它只是index.html的常规加载,与启动应用程序时相同。