Android 获得;出现网络错误“0”;使用链接数据的页面中的后退按钮时,ajax=false

Android 获得;出现网络错误“0”;使用链接数据的页面中的后退按钮时,ajax=false,android,eclipse,cordova,jquery-mobile,Android,Eclipse,Cordova,Jquery Mobile,我正在尝试使用PhoneGap让我的jQuery移动站点在Android上运行(目前正在使用GalaxyS3进行测试,Android 4.0.4) 当我试图使用设备的“返回”按钮返回到我的网站主页时,我收到一个应用程序错误,上面写着“发生了网络错误…”。我返回的页面最初是使用“dataajax=false”链接的页面 我可以如下复制错误: 启动应用程序,从index.html开始 单击不使用数据ajax=false的链接,例如help.html 使用设备的后退按钮返回index.html 单击一

我正在尝试使用PhoneGap让我的jQuery移动站点在Android上运行(目前正在使用GalaxyS3进行测试,Android 4.0.4)

当我试图使用设备的“返回”按钮返回到我的网站主页时,我收到一个应用程序错误,上面写着“发生了网络错误…”。我返回的页面最初是使用“dataajax=false”链接的页面

我可以如下复制错误:

  • 启动应用程序,从index.html开始
  • 单击不使用数据ajax=false的链接,例如help.html
  • 使用设备的后退按钮返回index.html
  • 单击一个链接,是否使用数据ajax=false,名称无关
  • 尝试使用设备的后退按钮返回index.html
  • 它抛出的确切错误是:

    发生网络错误。(file:///android_asset/www/index.html#/android_asset/www/help.html

    奇怪的是,如果我在进入我的“dataajax=false”链接页面之前没有访问另一个页面,它不会抛出错误,页面也会按预期工作

    我似乎无法在网上找到任何关于解决方案的资源

    我尝试在index.html中设置$.support.cors和$.mobile.allowCrossDomainPages=true,但没有任何效果。这两个链接之间的唯一区别是一个链接的数据为ajax=false,而另一个链接的数据为false。我用两个相同的页面重现了错误,因此我确定页面的内容无关紧要

    以下是我链接页面的方式:

    <a href="help.html">Help</a>
    
    
    

    
    

    如果您能提供任何建议或解释发生了什么,我们将不胜感激。

    您可能应该避免在phonegap应用程序中使用数据ajax=“false”-因为它会导致整个页面重新加载,您将失去状态并在每个页面上重新初始化phonegap脚本,而不仅仅是在应用程序启动时

    虽然我不能百分之百确定,但可能与url在那一点上不起作用有关——android_asset可能不是设备的根文件夹,从部分初始化的页面触发/android_asset/www/help.html的加载可能无法按预期工作

    如果您不先访问ajax页面,url上就没有哈希,它只是index.html的常规加载,与启动应用程序时相同

    <a href="test.html" data-ajax="false">Test</a>