1

我是 Phonegap/jQuery mobile 的新手,在页面转换问题期间我面临着白屏。我尝试应用我在网络上找到的许多解决方案(例如-webkit-backface-visibility:hidden;),但仍然没有解决问题。

我也设置defaultPageTransitionnone(在 jQuery mobile .js 文件中)但仍然没有。

我不能关闭硬件加速,因为我的iDangerous滑动菜单需要它。我所有的链接都是这样的:

<a href='javascript:void(0)' class='news-main' onclick='someFunction()'>Some String</a>

当我点击链接 someFunction() 被调用。方法 someFuction 看起来像这样:

function someFunction(){
    //setting some value that I need in next page
    window.sessionStorage.setItem("someValue",someValue);
    window.location="next-page.html";
}

一切正常,除了页面转换期间的白色闪烁。它仅在某些设备上显示(例如 Android 4+)。

有没有办法解决这个问题?或者也许我做错了什么?提前致谢!

4

6 回答 6

3

在调用 Jquery 移动 js 之前你需要一些东西:

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

参考就够了

于 2014-04-08T12:39:53.833 回答
2
android:hardwareAccelerated="false"

打开您的清单并将其粘贴到应用程序标记中。因为你的设备硬件每次都加速调用

于 2013-09-16T11:08:15.857 回答
1

尝试如下

<a href='#' class='news-main' id='mylink'>Some String</a>

JS

$(document).on('pagecreate', function(){
  $('#mylink').bind('click',function(){
      someFunction()
  });
});

function someFunction(){
  window.sessionStorage.setItem("someValue",someValue);
  $.mobile.changePage("next-page.html");
}
于 2013-05-28T09:16:09.367 回答
1
<script src="js/jquery-1.10.2.min.js" type="text/javascript"></script>
                <script type="text/javascript">
                $(document).bind("mobileinit", function()
                {
                   if (navigator.userAgent.indexOf("Android") != -1)
                   {
                     $.mobile.defaultPageTransition = 'none';
                     $.mobile.defaultDialogTransition = 'none';
                   }
                });
                </script>
                <script src="js/jquery.mobile-1.3.2.min.js" type="text/javascript"></script>
于 2014-05-07T10:46:21.827 回答
1

在为更高的 Android 目标构建时,android:hardwareAccelerated被隐式设置为 true,这会导致在使用 jQuery Mobile 进行转换时闪烁。

将其设置为android:hardwareAccelerated="false"将解决此问题。(我也禁用了缩放和用户可缩放)

http://developer.android.com/guide/topics/graphics/hardware-accel.html

于 2013-08-26T22:17:49.963 回答
0

您可以将链接写为

<a href='javascript:void(0)' class='news-main' onclick='someFunction()' data-transition="none" >Some String</a>

由于jquery mobile在页面转换中不是很流畅。因此我们可以选择暂时关闭它们,直到发布具有正常页面转换的最新版本的jquery mobile。

于 2013-05-28T10:13:56.713 回答