1

私はBlackberryPlaybook用のアプリを開発しようとしています(はい、私は知っています、それは死んでいます..私と一緒に耐えてください)。

単純なWebWorksアプリを使用していますが、ページを読み込むときにjQueryのready()関数が2回呼び出されているように見えます。

<!doctype html>
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function() {
                    alert("ready");
            });
        </script>
    </head>
    <body>
        Hello World.
    </body>
</html>

なぜこれが起こるのか考えていますか?PlaybookのRippleシミュレーターでテストしています。

4

2 に答える 2

1

とにかく、Windows上の現在のバージョンのRippleは、ページを2回ロードすると確信しています。jQuery(または私も使用しているCoffeScript)とは何の関係もありません。

私が持っている解決策は、たとえそれが気に入らなくても、うまくいきます:

// earlier
var runner = function() {
  alert('ready');
};

// later
$(function() {
  if(window.tinyHippos) {
    setTimeout(runner, 3000);
  } else {
    runner();
  }
});

かなりハッキーですが、うまくいくようです。うまくいけば、リップルの次の反復で、二重負荷がなくなるでしょう。

于 2012-02-27T20:59:44.630 に答える
0

テスト作業で、.ready()を使用する代わりのショートカットを試し、2つのアラートで同じ結果が得られるかどうかを確認しましたか?

$(function() {
    alert('ready');
});

また、以前のバージョンのjQueryを使用して、最新バージョンのjQueryの問題に関連しているかどうかをテストすることもできます。

したがって、1.7.1ではなく1.6.1を試してみてください。

もっと手伝いたいのですが、残念ながら私は個人的にプレイブックを所有していません。

于 2012-01-07T23:24:26.150 に答える