这是我以前遇到的一个问题,我仍然不确定为什么会发生这种情况。
有问题的页面是-http://nexrem.com/dragontimer/testdir/mobile/index.html
当你点击选择服务器按钮时,页面会闪烁应该存在的内容,然后是空白的!我知道可以解决这个问题的一种方法是将data-ajax="false"
添加到链接;然而,如果我这样做,我就会遇到另一个问题:在iPhone上,如果我将页面添加到主屏幕,然后运行它——点击"选择服务器"——就会打开浏览器,而不是停留在web应用程序中。
我的目标是让用户能够将页面添加到他们的主屏幕上,而不需要url栏,只需从内部运行所有页面。似乎把<meta name="apple-mobile-web-app-capable" content="yes" />
和data-ajax="false"
放在一起是行不通的。
所以基本上有两件事:
- 如何修复屏幕闪烁和显示空白(除非刷新)
- 或者,我如何才能拥有没有工具栏的网络应用程序,并且每次用户单击按钮时都不打开浏览器
谢谢
编辑:这是index.html和servers.html 的代码
index.html-http://pastebin.com/Qh5s7QRp
servers.html-http://pastebin.com/Exv2MJrS
在文件index.html
中,在链接Select server
的定义中包含rel="external"
而不是data-ajax="false"
。
所以,你应该有这个:
<a href="servers.html" data-role="button" data-theme="c" rel="external">Select server</a>
您可能还需要将HTML文件index.html
和servers.html
的<a>
链接中包含的每个data-ajax="false"
替换为rel="external"
。
有关rel="external"
的更多信息,请查看在线文档http://jquerymobile.com/test/docs/pages/page-links.html:
指向其他域或具有rel="external">的链接,数据ajax="false">或目标属性将不会用ajax加载。相反,这些链接将导致一个完整的页面刷新,没有动画过渡两个属性(rel="external">和data-ajax="false"el="external">,而data-ajax="false">对于在通过Ajax加载域。由于安全限制,框架总是从Ajax中选择指向外部域的链接行为
希望这能有所帮助。