Playbook WebWorks jQuery准备被调用两次

时间:2012-01-07 22:25:45

标签: jquery blackberry-simulator blackberry-playbook ripple

我正在尝试为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>

知道为什么会这样吗?我正在测试Playbook的Ripple模拟器。

2 个答案:

答案 0 :(得分:1)

我非常确定当前版本的Ripple,无论如何都会加载页面两次。它与jQuery(或我也使用的CoffeScript)无关。

我所拥有的解决方案即使我不喜欢也是如此:

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

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

非常hacky,但它似乎工作。希望在Ripple的下一次迭代中,双重负载将会消失。

答案 1 :(得分:0)

在您的测试工作中,您是否尝试过使用.ready()的快捷方式,以查看它们是否通过两个警报执行相同的结果?

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

另外,也许尝试使用以前版本的jQuery来测试它是否与最新版本的jQuery中的问题有关。

所以,也许尝试1.6.1而不是1.7.1。

我希望我能提供更多帮助,但遗憾的是,我个人并不拥有Playbook。