Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery iOS Safari调试控制台-如何获取错误的行号?_Jquery_Ios_Backbone.js_Mobile Safari - Fatal编程技术网

Jquery iOS Safari调试控制台-如何获取错误的行号?

Jquery iOS Safari调试控制台-如何获取错误的行号?,jquery,ios,backbone.js,mobile-safari,Jquery,Ios,Backbone.js,Mobile Safari,我有一个backboneJS项目,该项目使用jQuery延迟对象回调加载依赖文件-该网站在桌面、经过测试的Android设备和iOS 5.1的iPad上加载良好-一位客户提请我注意,该网站在iOS4.3.5的iPad上无法工作。这是我的密码: $.when( // Load the stuff here... ).done( // Call jQuery DOM ready code here... ).fail( function () { for(va

我有一个backboneJS项目,该项目使用jQuery延迟对象回调加载依赖文件-该网站在桌面、经过测试的Android设备和iOS 5.1的iPad上加载良好-一位客户提请我注意,该网站在iOS4.3.5的iPad上无法工作。这是我的密码:

$.when(
    // Load the stuff here...
).done(
    // Call jQuery DOM ready code here...
).fail(
    function () {
        for(var i=0; i<arguments.length; i++) {
            console.log(arguments[i]);
        }
    }
);
这对我一点帮助都没有——有没有办法在不盲目调试15个主干视图和模型的情况下找出解析错误?在我的故障排除研究中,是否有任何已知的旧iOS safari bug与主干或jQuery延迟有关

编辑:使用以下版本-

Backbone.js (unminified) 0.9.1
jQuery (unminified) 1.8.0

Nikosh的想法是正确的,不过更具体地说,您应该将参数中传递的对象字符串化。调试控制台将截断所有内容,因此只需将页面内容替换为转储即可进行调试。它可能不会显示任何行号,但如果出现解析错误,您可能会看到该对象以某种方式出错;来自ajax调用或其他东西的截断响应文本-我只提到这一点,因为您是
//在这里加载内容
,所以我认为您使用的是
$.getScript
或其他将返回延迟对象的东西。如果是,请尝试以下方法:

$.when(
    // Load the stuff here...
).done(
    // Call jQuery DOM ready code here...
).fail(
    function () {
        document.write(JSON.stringify(arguments[0]));
    }
);

修正了这个问题。找到一行代码,其中属性名为
class
,如
myObj.class='foo'
class
显然是旧JS解析器中的保留字。将其更改为
className
,它就工作了


在这方面,我仍然想知道如何在iOS Safari调试控制台中查看解析错误的行号。如果有人能提供这个答案,我会接受的

检查,尝试一个未压缩的jquery?谢谢-我正在使用一个新的jquery,未统一。今早从1.7.2更新到1.8.0,排除了这一点,但遗憾的是问题仍然存在。JSON.stringify对参数进行处理,让您阅读它所说的内容?这肯定会使
[object object]
更加详细,这样我就可以看到对象是什么,但它看起来并不“一团糟”对于解析错误,行号或任何东西都帮不上忙——知道如何精确定位错误吗?
$.when(
    // Load the stuff here...
).done(
    // Call jQuery DOM ready code here...
).fail(
    function () {
        document.write(JSON.stringify(arguments[0]));
    }
);