Firefox错误控制台中的jQuery警告

时间:2010-06-24 17:13:03

标签: jquery firefox warnings error-console

突然之间,我在Firefox错误控制台中收到了一堆警告......今天早些时候没有发生这种警告,我没有做出重大改变。错误只是不断重复,每秒累积3-4次:

Warning: reference to undefined property jQuery.ajaxSettings.traditional

并指向jQuery.js的第5383行,这是我包含的jQuery JavaScript Library v1.4.2文件。这是我今天添加的唯一新代码:

$(document).ready(function(){
    // search field focus and blur event handlers
    $('#search-field').focus(function() {
        if($(this).hasClass('placeHolder')){
            $(this).val('');
            $(this).removeClass('placeHolder');
            $(this).addClass('search-field');
        }
    });
    $('#search-field').blur(function() {
        if($(this).val() == '') {
            $(this).val('Search');
            $(this).addClass('placeHolder');
        }
    });
});

因此,当我将此代码分别放在自己的文件中时......我收到以下警告:

Warning: reference to undefined property E.queue

Warning: anonymous function does not always return a value
   Source File: http://localhost/jQueryChat/js/jQuery.js
   Line: 404, Column: 2
   Source Code:
        }, 

Warning: anonymous function does not always return a value
   Source File: http://localhost/jQueryChat/js/jQuery.js
   Line: 416, Column: 23
   Source Code:
        return jQuery.ready(); 

..等等。所以我不知道为什么会这样。有什么想法吗?

更新:我去了about:config for Firefox并将javascript.options.strict变为false,警告就消失了。但我觉得这不是一个解决方案。

谢谢, 赫里斯托斯

4 个答案:

答案 0 :(得分:1)

jQuery对警告的重要性不高,因为它们不是批评者。 您可以在FireFox about:config设置javascript.options.strictfalse中禁用严格警告,或在错误控制台中使用它们。

无论如何,如果禁用它们,使用jquery-ui-1.7.2.custom.css时仍可能会看到一些警告

答案 1 :(得分:0)

您可能还想重新启动Firefox并在另一个浏览器中验证JS错误,以消除JS引擎爆炸并发出错误错误的可能性。

答案 2 :(得分:0)

首先我不能发表评论 你的代码有效。没有错误。
你可以尝试做的是尝试覆盖THE $ -FUNCTION。

只需尝试添加到您的代码中jQuery.noConflict();

并尝试......

  jQuery(document).ready(function(){
    jQuery('#search-field').focus(function() {
        if(jQuery(this).hasClass('placeHolder')){
            jQuery(this).val('');
            jQuery(this).removeClass('placeHolder');
            jQuery(this).addClass('search-field');
        }
    });
    jQuery('#search-field').blur(function() {
        if(jQuery(this).val() == '') {
            jQuery(this).val('Search');
            jQuery(this).addClass('placeHolder');
        }
    });
});


如果您正在使用任何其他js框架或插件。这可以提供帮助。

干杯

答案 3 :(得分:0)

我前往about:config浏览Firefox并将javascript.options.strict转为false,警告就消失了。但我觉得这不是一个解决方案。

http://www.howtocreate.co.uk/strictJSFirefox.html

赫里斯托斯