浏览页面时闪烁

当我在页面之间导航时,我的phonegap / jquery移动应用程序大部分时间闪烁。 这是正常的还是有这个解决scheme吗?

.ui-page { -webkit-backface-visibility: hidden; } 

这对phonegap / jquery手机/ Android手机的工作。

有关于Android上闪烁的消息(2012-01-10),请看http://jquerymobile.com/blog/2012/01/10/upcoming-releases-1-0-1-1-1-and-beyond /

Quote: 从更复杂的幻灯片,popup和翻转过渡排除performance不佳的Android 2.x平台,所以这些将回落到所有转换的默认淡入淡出,以确保顺利的体验。

这个线程的CSS解决scheme并不适合我(Android 2.x)。

我在所有链接中禁用了data-transition="none" ,一切正常。 它也应该工作在页面级设置,但它不适用于我(jQuery Mobile 1.0)。 这是代码:

 // turn off animated transitions for Android if (navigator.userAgent.indexOf("Android") != -1) { $("a").attr("data-transition", "none"); } 

另一种(更好的)方法是设置jQuery Mobile的默认转换:

 $(document).bind("mobileinit", function() { if (navigator.userAgent.indexOf("Android") != -1) { $.mobile.defaultPageTransition = 'none'; $.mobile.defaultDialogTransition = 'none'; } }); 

iPhone执行硬件加速转换,而其他平台则通过软件执行转换。 这就解释了为什么只有iPhone执行平稳过渡。

我尝试了其他build议,但没有一个为我工作。 我最终通过更改视口元标记来修复它,如下所示:

 <meta name="viewport" content="width=device-width, user-scalable=no" /> 

感谢http://www.fishycode.com/post/40863390300/fixing-jquery-mobiles-none-transition-flicker-in

我摆脱了iOS上的闪烁! 使用静态页眉和页脚。

我有我的CSS如下,没有数据位置=“固定”的页眉和页脚。

 .ui-mobile, .ui-mobile .ui-page, .ui-mobile [data-role="page"], .ui-mobile [data-role="dialog"], .ui-page, .ui-mobile .ui-page-active { overflow: hidden; -webkit-backface-visibility: hidden; } .ui-header { position:fixed; z-index:10; top:0; width:100%; padding: 13px 0; height: 15px; } .ui-content { padding-top: 57px; padding-bottom: 54px; overflow: auto; position: absolute; top: 0; right: 0; bottom: 0; left: 0; } .ui-footer { position:fixed; z-index:10; bottom:0; width:100%; } 

你的iPhone或Android的应用程序?

我已经在一些地方看到了这一点,作为可能的闪烁CSS修复:

 #YourApp { -webkit-backface-visibility: hidden; overflow: hidden; } 

FIY:上周我使用了CSS修补程序,在继续前进时遇到了另一个问题。

我的应用程序有一个联系页面 – 按照这里提供的描述( http://jquerymobile.com/demos/1.0a4.1/docs/forms/#forms-text.html )非常简单。

但是,只要聚焦文本input字段,页面就会“跳跃”(上下滚动)。 有时在文本中input时也会跳转。 这是很难描述原因的行为是非常随机的,但有一个讨论。 停用闪烁修复的想法也来自那里。 https://github.com/jquery/jquery-mobile/issues/2683#commits-ref-d195354

仍然在努力寻找一个“适当的”解决scheme,但如果你没有键盘input,我想它会工作的很好!

这是一个被认为是“闪烁”的问题。 他们已经公开表示,他们很快就会解决这个问题,并且已经指派了一个人。 这里有一个最近的博客文章提到它:

http://jquerymobile.com/blog/2011/05/06/jquery-mobile-team-update-week-of-may-2/

我有同样的问题,这是由我的HTML中不同页面的重复id造成的。

即使重复的id位于不同的html页面中,JQuery Mobile也会将所有HTML文件编译成一个HTML文档,以便执行页面转换。

这导致无效的HTML,导致类似于你所描述的闪烁。

一旦我纠正了重复ID号问题,一切都很好。

更新:堆栈溢出答案在这里解释更多关于JQuery中的重复id问题Mobile https://stackoverflow.com/a/8608474/271125

使用CSS解决scheme时

 .ui-page { -webkit-backface-visibility: hidden; } 

您可能会遇到其他问题,所以这不是一个好主意。

其实,jQuery手机v1.1.0有转换的问题。 看看这个和这个 。

在你的文件中,放置这个代码:

 <script src="disableTransition.js"></script> 

要在disableTransition.js文件中禁用闪烁转换,请放置此代码

 $(document).bind("mobileinit", function(){ $.extend( $.mobile , { defaultPageTransition: 'none' }); $.mobile.defaultPageTransition = 'none'; $.mobile.defaultDialogTransition = 'none'; }); 

在Android上解决了我。

我有同样的问题,但更糟的是,当在Phonegap中包装一个Jquery移动应用程序。 页面转换不仅闪烁,而且用户界面完全被破坏。 我已经尝试了在这里build议的大部分解决scheme,但没有任何工作。 然后我通过Piotr Walczyszyn发现了这个解决scheme,而且所有的工作都像梦一样! 强烈build议任何人一起使用Jquery mobile和Phonegap。

检查这个链接,我有同样的问题,所以我logging它。

链接内容:

我正在开发一个使用JQM的phoneGap android项目。 我的项目包含固定外部标题和外部面板。

当从一个页面浏览到另一个页面时,我看到一个白色的瞬间(整个页面)短暂的一个奇怪的时刻。 我在网上search,但现在正确的信息和大量的代码在JQM核心文件上的变化。 经过长时间的研究,我发现并希望每个人都了解它。

修复:更改

 <meta name = "viewport" content="width=device-width, initial-scale=1" /> 

 <meta name = "viewport" content="width=device-width, user-scalable = no" /> 

https://shariefmohatad.wordpress.com/2014/06/12/blinkingflickering-with-jqmobile-and-phonegap-aka-phonegap-on-android-2/