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.