0

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

有问题的页面是 - 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"在一起是行不通的。

所以基本上有两件事:

  • 如何修复屏幕闪烁并显示空白(除非刷新)
  • 或者我怎样才能让 Web 应用程序没有工具栏,并且每次用户单击按钮时都不打开浏览器?

谢谢你

编辑:这是 index.html 和 servers.html 的代码

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

服务器.html - http://pastebin.com/Exv2MJrS

4

1 回答 1

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"包含在<a>HTML 文件index.htmlservers.html,链接中的每个 , 替换为rel="external".


rel="external"查看在线文档以获取有关http://jquerymobile.com/test/docs/pages/page-links.html的更多信息:

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

希望这可以帮助。

于 2012-10-11T05:30:13.633 回答