2012-05-04 79 views
6

我有一個使用PhoneGap轉換爲iOS應用程序的jQuery Mobile應用程序。我正在使用jQM的1.1.0版本。爲什麼頁面在iOS上的jQuery Mobile PhoneGap應用程序中轉換後閃爍/閃爍?

我正在使用頁面之間的「淡入淡出」轉換(因爲我讀他們要求不高)。

最初在iPhone模擬器中運行該應用程序的PhoneGap版本時,每次頁面轉換後都會出現閃爍/閃爍 - 就像頁面正在顯示,清除然後重新顯示一樣 - 所有的時間都只有幾分之一秒。當我在設備上運行它時發生了一些事情。

我在Sarah-Jane的回答中應用了建議similar question

這解決了模擬器中的問題,但不是在實際的設備上。

有沒有人遇到過這個問題,並找到了解決辦法?

回答

13

這傢伙解決了這個問題 - 它的工作對我來說:

http://outof.me/fixing-flickers-jumps-of-jquery-mobile-transitions-in-phonegap-apps/

CSS:

body { 
    /* Setting body margins to 0 to have proper positioning of #container div */ 
    margin: 0; 
} 

/* #container div with absolute position and 100% width and height so it takes up whole window */ 
#container { 
    position: absolute; 
    width: 100%; 
    height: 100%; 
} 

JS:

$(document).one("mobileinit", function() { 

    // Setting #container div as a jqm pageContainer 
    $.mobile.pageContainer = $('#container'); 

    // Setting default page transition to slide 
    $.mobile.defaultPageTransition = 'slide'; 

}); 

,敷在你所有的JQM頁面單身<div id="container">

+0

這工作完美無缺,以解決我的「白頁」問題。 –

+0

對不起,但這是行不通的。你使用什麼版本的PhoneGap,jQuery和jQuery mobile以及iOS? – 2014-02-19 03:47:54

+0

無論在撰寫本文時發佈的版本。對不起,我不記得了。 – Jeff

1

淡入淡出過渡主要是你應該改變它滑動或其他過渡模式。

+0

恐怕這並沒有解決它 - 我只是得到一個不同的閃爍。 – dommer

+0

我在我的應用程序中有類似的問題,然後我做了解決問題的步驟1)更改了所有轉換爲幻燈片2)檢查了所有渲染頁面的函數調用,可能存在任何重複調用(我動態渲染所有頁面) – Tanveer

+0

非常感謝..這解決了我的問題。我被困在同樣的幾個小時... – joe

-1

使用下面的代碼

$(document).ready(function() 
{ 

    $.mobile.defaultPageTransition = "none" 
    $.mobile.defaultDialogTransition = 'none'; 
    $.mobile.useFastClick = true; 
    $.mobile.touchOverflowEnabled = true; 

}); 
0

這可能會幫助

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