我是Phonegap / jQuery mobile的新手,我在页面转换问题时面临白屏。我试图应用我在网络上找到的许多解决方案(例如-webkit-backface-visibility:hidden;
),但仍然没有解决问题。
我还将defaultPageTransition
设置为none
(在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 +)。
有什么方法可以解决这个问题吗?或者也许我做错了什么?提前谢谢!
答案 0 :(得分:3)
你需要一些东西才能调用Jquery mobile 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 :(得分:2)
android:hardwareAccelerated="false"
打开您的清单并将其粘贴到应用程序标记内。因为您的设备硬件每次都加速调用
答案 2 :(得分: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");
}
答案 3 :(得分:1)
为更高级别的Android目标构建时, android:hardwareAccelerated 会隐式设置为true,这会导致在jQuery Mobile过渡期间出现闪烁。
将其设置为 android:hardwareAccelerated =“false”将解决此问题。 (我也有缩放和用户可扩展禁用)
http://developer.android.com/guide/topics/graphics/hardware-accel.html
答案 4 :(得分: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>
答案 5 :(得分:0)
您可以将链接写为
<a href='javascript:void(0)' class='news-main' onclick='someFunction()' data-transition="none" >Some String</a>
因为jquery mobile在页面转换中不是很流畅。因此,我们可以选择关闭它们,直到最新版本的jquery mobile与正常页面转换一起发布。