在Android上使用jQuery Mobile进行页面转换时仍然出现闪烁/闪烁问题

时间:2017-01-10 00:49:12

标签: android jquery cordova jquery-mobile

我看到这已被讨论多年,但它仍在发生。

我有一个在iOS中使用jQuery Mobile的应用程序,一切都很好。我现在正试图部署到Android,但页面转换上有一个可怕的闪烁。我尝试过在网上提出的许多解决方案,但都没有工作。我发现的唯一工作就是关闭jQuery Mobile,我不想这样做!

我试过了:

<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height" />

.ui-page {
    text-shadow: none!important;
    -webkit-backface-visibility: hidden;
    overflow: visible;
}

.ui-mobile-viewport-transitioning,
.ui-mobile-viewport-transitioning .ui-page {
    overflow: visible;
}

<script type="text/javascript">
    $(document).bind("mobileinit", function()
        {
           if (navigator.userAgent.indexOf("Android") != -1)
           {
             $.mobile.defaultPageTransition = 'none';
             $.mobile.defaultDialogTransition = 'none';
           }
        });
</script>

并将其添加到Android清单

android:hardwareAccelerated="false"

可能还有其他我不记得了。

我正在使用jQuery Mobile 1.4.5。科尔多瓦6.3.1。在运行Android 6.0.1的Nexus 5和运行5.0的LG G3上进行测试。

jQuery Mobile github页面上存在一个未解决的问题,但一年多来没有人回答。

任何想法都将不胜感激!

  • 乔恩

1 个答案:

答案 0 :(得分:0)

想出来。我的代码中有一些window.location页面转换。当我更改它们以使用$ .mobile.changePage(页面)并确保我有

$.mobile.defaultPageTransition = 'none';
$.mobile.defaultDialogTransition = 'none';

不再闪烁!

  • 乔恩