Cordova 如何在刷新时禁用jquery mobile ajax

Cordova 如何在刷新时禁用jquery mobile ajax,cordova,jquery-mobile,angularjs,Cordova,Jquery Mobile,Angularjs,我正在尝试将jquery mobile与本地文件链接一起使用,但它对我来说无法正常工作。 从finder打开页面时,我可以很好地加载初始页面。在地址栏中,我看到了完整的文件路径 file://localhost/Users/me/[pathToMyApp]/www/index.html#/page1 然而,当我在chrome中按refresh,或者简单地将页面url复制到另一个窗口时,就会出现错误 Error loading Ajax Page 有没有我错过的基本步骤 这

我正在尝试将jquery mobile与本地文件链接一起使用,但它对我来说无法正常工作。 从finder打开页面时,我可以很好地加载初始页面。在地址栏中,我看到了完整的文件路径

    file://localhost/Users/me/[pathToMyApp]/www/index.html#/page1
然而,当我在chrome中按refresh,或者简单地将页面url复制到另一个窗口时,就会出现错误

    Error loading Ajax Page  
有没有我错过的基本步骤

这是我的页面:


$(文档).bind(“mobileinit”,函数(){
$.mobile.ajaxEnabled=false;
$.mobile.ajaxLinksEnabled=false;
});

您缺少的基本步骤是使用http服务器为页面提供服务

这是Chrome的故意行为,它限制了对文件系统上文件的ajax调用

为了能够正常有效地开发jQM应用程序,只需安装并使用其中一个web服务器。在任何平台上都有很多

不建议这样做,但您可以通过使用标志来强制chrome允许您这样做

--allow-file-access-from-files --disable-web-security

好的,经过一些调查,问题是因为JQuery和AngularJS没有很好地协同工作

AngularJS使用散列标记为其控制器划分路由

jQueryMobile试图巧妙地处理散列,散列会把URL弄得一团糟


在我用我的私人补丁修补了jquery mobile之后,它现在可以工作了。(如禁用哈希处理中所述)。。它现在可以工作了。

我启用了chrome,通过使用--allow file access from files从cmdline开始从磁盘加载文件,所以这个限制应该没有问题。它适用于非jquery移动站点,因此jquery移动导致了这种行为。您可能需要另一个标志。请参阅更新的答案。但是你最好使用一些轻量级的web服务进行开发。尝试过了,不幸的是它仍然不起作用。web服务器的问题是,我使用的是phonegap,它最终会通过file://加载html文件,因此使用web服务器是不可行的。问题似乎已在此处找到并解决: