微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Javascript错误未捕获异常

我正在使用一个名为pull.js的 javascript文件.它用于Ipad中的下拉刷新,但是,当我使用其他jquery和javascript停止工作?它给出了以下未捕获的异常错误


Error: uncaught exception:

[Exception… “Not enough arguments” nsresult: “0x80570001
(NS_ERROR_xpc_NOT_ENOUGH_ARGS)” location: “JS frame :: pull.js ::
anonymous :: line 26” data: no]

我正在传递此js文件内容

var PULL = function() {
    var content,pullToRefresh,refreshing,contentStartY,success,start,cancel,startY,track = false,refresh = false;

    var removeTransition = function() {
        //content.style['-webkit-transition-duration'] = 0;
    };
    return {
        init: function(o) {
            content = document.getElementById('content');
            pullToRefresh = document.getElementById('pull_to_refresh');
            refreshing = document.getElementById('refreshing');
            success = o.success;
            start = o.start;
            cancel = o.cancel;

            document.body.addEventListener('touchstart',function(e) {
                e.preventDefault();
                contentStartY = parseInt(content.style.top);
                startY = e.touches[0].screenY;
            });

            document.body.addEventListener('touchend',function(e) {
                if(refresh) {
                    //content.style['-webkit-transition-duration'] = '.5s';
                    content.style.top = '50px';

                    pullToRefresh.style.display = 'none';
                    refreshing.style.display = '';

                    success(function() { // pass down done callback
                        pullToRefresh.style.display = '';
                        refreshing.style.display = 'none';
                        content.style.top = '0';
                        content.addEventListener('transitionend',removeTransition);
                    });

                    refresh = false;
                } else if(track) {
                    //content.style['-webkit-transition-duration'] = '.25s';
                    content.style.top = '0';
                    content.addEventListener('transitionend',removeTransition);

                    cancel();
                }
                track = false;
            });

            document.body.addEventListener('touchmove',function(e) {
                var move_to = contentStartY - (startY - e.changedtouches[0].screenY);
                if(move_to > 0) track = true; // start tracking if near the top
                content.style.top = move_to + 'px';

                if(move_to > 50) {
                    refresh = true;
                } else {
                    //content.style['-webkit-transition'] = '';
                    refresh = false;
                }
            });
        }
    };
}();

谁能帮帮我吗.

解决方法

xpc错误不是来自调用像parseInt这样的纯Javascript方法(和radix参数)
是规范可选的,因此所有这些评论在很多方面都是错误的).

您在所有addEventListener调用上都是missing the third useCapture argument

这里:

document.body.addEventListener('touchstart',function(e) {
    ...
},false);  //<-- add third argument

这里:

content.addEventListener('transitionend',removeTransition,false);  //<-- add third argument

这里:

document.body.addEventListener('touchend',false);  //<-- add third argument

和这里:

document.body.addEventListener('touchmove',false); //<-- add third argument

请注意,在newer specification,the argument has been made optional.但这并不重要.

原文地址:https://www.jb51.cc/js/156761.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐