PlayBook WebWorks JQuery о готовности вызывается дважды

Я пробую свои силы в разработке приложения для Blackberry Playbook (да, я знаю, оно мертво... потерпите меня).

Я использую простое приложение WebWorks, и моя функция jQuery ready() вызывается дважды, когда я загружаю свою страницу.

<!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>

Есть идеи, почему это произойдет? Я тестирую в симуляторе Ripple для Playbook.

2 ответа

Решение

Я уверен, что текущая версия Ripple для Windows в любом случае загружает страницу дважды. Это не имеет ничего общего с jQuery (или CoffeScript, который я также использую).

У меня есть решение, которое работает, даже если оно мне не нравится:

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

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

Довольно забавно, но, похоже, работает. Надеемся, что в следующей итерации Ripple двойная загрузка исчезнет.

В своих усилиях по тестированию пытались ли вы использовать альтернативную комбинацию клавиш.ready(), чтобы проверить, дают ли они одинаковый результат с двумя оповещениями?

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

Также, возможно, попробуйте использовать предыдущую версию jQuery только для того, чтобы проверить, связано ли это с проблемой в последней версии jQuery.

Так что, возможно, попробуйте 1.6.1 вместо 1.7.1.

Я хотел бы помочь больше, но, к сожалению, лично у меня нет Playbook.

Другие вопросы по тегам