我正在尝试为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模拟器。
答案 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。