2013-05-27 3 views
1

Я новичок в Phonegap/jQuery mobile, и я сталкиваюсь с белым экраном во время проблемы с переходом страницы. Я попытался применить множество решений, которые я нашел в Интернете (например, -webkit-backface-visibility:hidden;) и до сих пор не решил проблему.Phonegap/jQuery подвижный переход страницы мерцает

Я также установил defaultPageTransition в none (в файле jQuery mobile .js) и до сих пор ничего.

Я не должен отключать аппаратное ускорение, потому что мне это нужно для моего iDangerous swiper menu. Все мои ссылки выглядят так:

<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+).

Есть ли способ решить эту проблему? Или, может быть, я что-то делаю неправильно? Заранее спасибо!

+0

См http://stackoverflow.com/a/16692917/104746 --- Установка видового экрана для пользователя-масштабируемого = не исправлена ​​проблема для меня. –

ответ

1

Try ниже

<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"); 
} 
+0

Спасибо, я написал, как вы сказали, и решил проблему. Спасибо! – Kolovrat

0

Вы можете написать свои ссылки, как

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

, как JQuery мобильный не очень гладко в странице transitions.Hence мы можем выбрать отключить их до сих пор, пока последняя версия jQuery mobile с обычными переходами страниц не получит Ased.

+0

Я также попытался поместить переход данных: ни одного в моей ссылке, но, к сожалению, не помог. Решение, оказанное майю майоресан, помогло мне. Спасибо за предложение. – Kolovrat

1

При создании для более высоких целей Android android: hardwareAccelerated неявно устанавливается в значение true, которое вызывает мерцание во время переходов с помощью jQuery Mobile.

Установка его на android: hardwareAccelerated = "false" исправит это. (я также масштабирование и масштабируемую отключенный пользователь)

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

2
android:hardwareAccelerated="false" 

Откройте ваш манифест и вставьте этот тег внутри приложения. Поскольку устройство hardwareAccelerated называют каждый раз

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> 

то будет достаточно refer

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> 
Смежные вопросы