jQuery Mobile Web App - 点击链接到另一个页面 - 页面闪烁内容然后空白

时间:2012-10-11 03:01:19

标签: javascript jquery mobile

这是我之前遇到的一个问题,我仍然不确定它为什么会发生。

相关网页是 - http://nexrem.com/dragontimer/testdir/mobile/index.html

当您点击“选择服务器”按钮时,页面会闪烁应该存在的内容,然后是空白!我知道这种方法可以解决的一种方法是在链接中添加data-ajax="false";然而,如果我这样做,那么我遇到另一个问题:在iPhone上如果我将页面添加到我的主屏幕然后运行它 - 单击“选择服务器” - 打开浏览器而不是留在网络应用程序中。

我的目标是让用户能够将页面添加到主屏幕,没有网址栏,只需从内部运行所有页面。似乎将<meta name="apple-mobile-web-app-capable" content="yes" />data-ajax="false"放在一起并不成功。

所以基本上有两件事:

  • 如何修复屏幕闪烁并显示空白(除非刷新)
  • 或者如何在没有工具栏的情况下使用Web应用程序,并且每次用户单击按钮时都不会打开浏览器?

谢谢

修改:以下是index.html和servers.html的代码

index.html - http://pastebin.com/Qh5s7QRp

servers.html - http://pastebin.com/Exv2MJrS

1 个答案:

答案 0 :(得分:1)

在您的文件index.html中,在链接rel="external"的定义中加入data-ajax="false"而不是Select server

所以,你应该改为:

<a href="servers.html" data-role="button" data-theme="c" rel="external">Select server</a>

您可能还需要使用data-ajax="false"替换HTML文件<a>index.html的{​​{1}}链接中包含的每个servers.html


查看在线文档,了解有关http://jquerymobile.com/test/docs/pages/page-links.htmlrel="external"的更多信息:

  

指向其他域或具有 rel =“external”的链接,    data-ajax =“false”或目标属性不会加载Ajax。   相反,这些链接将导致整页刷新而没有动画   过渡。两个属性( rel =“外部” data-ajax =“false”)   具有相同的效果,但具有不同的语义含义: rel =“external”   应该在链接到另一个站点或域时使用    data-ajax =“false”对于简单地选择您的网页非常有用   通过Ajax加载域。由于安全限制,   框架总是选择从Ajax中链接到外部域   行为。

希望这有帮助。