jQuery Mobile记录所有事件,修复空白页面

时间:2012-05-25 11:28:41

标签: jquery jquery-mobile

我有一个多页jquery文档。一切都在顺利进行,除了一次又一次,在页面之间导航时,页面只会显示为白色屏幕。页脚和标题将显示,但两者之间没有任何内容。

我的猜测是特定事件导致错误,或者至少会指向正确的方向。我怎样才能让jQuery写出每个事件,因为它发生在浏览器console.log?

2 个答案:

答案 0 :(得分:2)

我正在寻找类似的东西,几乎推出了自己的东西,然后才发现:

http://view.jquerymobile.com/master/tools/

基本上,可以使用页面事件记录器bookmarklet动态地将this script注入到DOM中,并将事件记录到标准console.log中。如果想要查看所有事件(例如“mobileinit”),只需在页面中包含脚本即可。我通常做这样的事情:

{% if debug %}
    <script src="http://view.jquerymobile.com/master/tools/log-page-events.js"></script>
    <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.js"></script>
{% else %}
    <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
{% endif %}

值得注意的是,并非所有事件都被记录(例如orientationchange),但大多数事件都是。通过调试和理解框架,我节省了相当多的时间。

答案 1 :(得分:1)

jQuery Mobile没有内置开关来启用所有JQM事件的调试。该站点建议将未压缩的脚本用于调试,但这并不能简单地在控制台中记录所有内容。

绑定到页面上的每个事件或至少绑定$.mobile.base对象可能会有所帮助。看看这篇文章是如何做到的: How can I bind all events on a DOM element?