带有PhoneGap和jQuery Mobile移动应用程序的页面之间的白色闪烁

Jac*_*ack 4 ios jquery-mobile cordova

在iPhone上使用jQuery Mobile和PhoneGap在页面之间导航时,会出现一个恼人的白色闪光,在新页面加载之前显示.像这样的简单链接会导致:

<a href="user.html" rel="external" data-role="button">User details</a>
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?一个合理的解决方法可能是将白色闪光灯改为与我的网页背景颜色相同的颜色,但我不知道这是否可行.

更新:

我在iPhone IOS 5.1和5.2上使用PhoneGap 1.5.0(又名Cordova),jQuery 1.6.4和jQuery Mobile 1.0.1.

这个问题似乎在Safari桌面上持续存在(尽管不那么明显).Firefox上没有问题.

更新2:

闪烁肯定是通过将​​链接标记为rel ="external"引起的.不幸的是,我链接到jQuery Mobile多重,所以这是必要的.

Jac*_*ack 8

jQuery Mobile 1.1.0 RC2(刚刚发布)和jQuery 1.7.1的组合不会遇到这个问题!精彩.来自jQuery Mobile团队的出色工作.我知道这个bug正困扰着他们!

更新:

如果您仍然看到闪光灯,则可以通过在CSS中提供通用的背景颜色来大幅改善用户体验.例如,如果您使用的是黑暗主题,则将其添加到主题的CSS中会将"白色"闪光灯更改为"黑色"闪光:

body{
   background-color: black !important
}
Run Code Online (Sandbox Code Playgroud)

此外,如果您可以在链接中不使用rel ="external"而离开,那么闪存也将消失.不幸的是,根据您的设计,这可能会搞砸您的导航.

我刚刚更新到qQuery Mobile 1.1.0 final.链接到外部页面时闪存是可见的,即不使用多页,如果您链接的页面很复杂(大)并且需要一段时间来渲染,则闪存只是一个问题.在这些情况下,保持一致的背景使用户体验非常好.

删除页面转换效果还可以通过在包含jquery移动库之前包含以下javacript来将中断降至最低.

$(document).bind("mobileinit", function(){
  $.mobile.defaultPageTransition="none"
});
Run Code Online (Sandbox Code Playgroud)