0

ここに私が直面している奇妙なことがあります。私は sencha と Javascript を初めて使用しますが、しばらく前からいくつかのテストを行っています。sencha touch 2 アプリをテストするのに最適なデスクトップ ブラウザは Chrome で、これは Web キット ベースであり、Firefox は動作しないと読みました。

Sencha Touch 2 カルーセル、リスト、および .json ファイルからデータをフェッチするストアを使用する Web アプリを作成しました。

この時点で、アプリケーションには 2 つの異なる画面があり、Firefox ブラウザーからアクセスした場合に表示されるように、以下のように表示されます。

ここに画像の説明を入力 ここに画像の説明を入力

ご覧のとおり、カルーセルとイベント リストの両方が表示され、Firefox を使用すると期待どおりに動作します (ただし、コードが動作しないブラウザである必要があります。

Google Chrome でこのまったく同じコードにアクセスすると、次のようになります。

ここに画像の説明を入力 ここに画像の説明を入力

ご覧のとおり、Firefox で動作するコードが Chrome で動作しないということは、私にはあまり意味がありません (Sencha Touch をテストするには、Chrome の方が優れているはずです)。

さらに、Android デバイスと iOS デバイスでこれらの同じコードを実行すると、最初の画面 (カルーセルのある画面) は完全に表示されますが、イベント リストにはイベント init が表示されません。今回は上部のタイトルが正しく表示されていることだけが異なります。少なくとも今回は、iOS ブラウザと Android ブラウザの両方が同じように動作します。

私は標準の sencha ビュー、ストア、モデルを使用してきましたが、ブラウザー固有の操作を行ったことは知りません。

この違いが表示される理由について何か考えはありますか? Firefox は問題なく動作するのに、Chrome がまったく動作しないのはなぜですか?

ありがとうオリオール

4

1 に答える 1

1

おそらく、Sencha Touch - Chrome 29 バグが発生しているようです。ここでこれを修正する方法を参照してください: http://www.sencha.com/forum/announcement.php?f=90&a=43

要約すると、これは何をすべきかです:

プロジェクト ディレクトリで、次のようにファイルresources/themes/stylesheets/sencha-touch/base/mixins/_Class.scssを編集します。st-box mixin

@mixin st-box($important: no) {
    @if $important == important {
         display: flex !important;
         display: -webkit-box !important;
         display: -ms-flexbox !important;
     } @else {
         display: flex;
         display: -webkit-box;
         display: -ms-flexbox;
     }
} 

次にコマンド プロンプトを開き、resources/sass ディレクトリに移動して を実行しcompass compileます。これを行う前に、Ruby がインストールされていることと、コンパスも構成されていることを確認してください。

于 2013-10-25T15:50:56.113 に答える