1

私は Phonegap/jQuery モバイルの初心者で、ページ遷移中に白い画面の問題に直面しています。Web で見つけた多くの解決策 (たとえば ) を適用しようとしましたが-webkit-backface-visibility:hidden;、まだ問題を解決していません。

私も(jQuery mobile .jsファイルで)に設定defaultPageTransitionしましたが、まだ何も設定していません。none

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 に答える
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 に答える