如何在Jquery Mobile和RequireJS中使用window.location.href时避免出现空白页

How to avoid blank pages when using window.location.href with Jquery Mobile and RequireJS?

本文关键字:href location 空白 window Jquery Mobile RequireJS      更新时间:2024-03-27

我正在使用requireJS&Jquery Mobile。

我在应用程序的某些区域进行全页面刷新(例如登录/注销用户)。然而,有时我的普通香草

 window.location.href = 'index.cfm'

我用来刷新的在iPad(运行iOS3)上不起作用。

很难确定和调试,因为我在Mobile Safari和桌面上收到了无错误消息,这从未发生过。此外,它通常发生在我第一次启动应用程序时,所以我认为它与会话相关(运行Coldfusion8/MySQL后端)。但既然所有东西都能在桌面上工作(甚至IE8…),就不可能是后端问题,对吧?

我唯一注意到的是,如果页面加载工作正常,标题会更改,那么微调器会显示,指示页面内容正在加载。如果它不起作用,标题就会更改,微调器也不会显示,所以我假设页面内容没有被加载。这似乎只在我登录/注销时发生,这是我使用window.location.href的仅有的两个实例

问题
有什么想法可以调试吗?这不起作用的原因是什么?我禁用了pushstate,想知道是否只是索引.cfm与完整路径是问题所在,但我很难复制,所以也许有人可以给我另一个方向的提示?

谢谢!

有什么想法可以调试吗

是的,你可以试一试。

weinre是一个网页调试器,类似于FireBug(用于FireFox)和web Inspector(用于基于WebKit的浏览器),但它被设计为远程工作,特别是允许您在手机等移动设备上调试网页。

这不起作用的原因是什么

原因并不明显。但我建议您使用整个href而不是index.cfm。如果您只想重新加载,请使用location.reload([true/false])。也可以更改locationpathname。有关详细信息,请查看window.location的文档。