【问题标题】:How can I track down these Firefox warning messages?如何追踪这些 Firefox 警告消息?
【发布时间】:2011-01-11 10:37:13
【问题描述】:

自从我升级到 jQuery 1.4.4 后,当我在 Firefox 3.6.13 中运行单元测试时,我收到了几条新的警告消息。这是一个典型的:

Warning: Unexpected token in attribute selector: '!'.
Source File: http://localhost/unitTests/devunitTests.html
Line: 0

或者更有用的:

Warning: Selector expected.
Source File: http://localhost/unitTests/ui/editors/iframe2.html?test=15
Line: 0

网页渲染得很好,而且我的所有 JavaScript 代码似乎也运行良好,所以我不愿意花费大量时间来削减我的代码来跟踪这些消息。但是,任何人都可以提出引起警告的原因吗?

【问题讨论】:

  • 我现在已经转移到 Firefox 4 并且那些新的警告消息不再存在了。

标签: jquery firefox jquery-selectors firebug message


【解决方案1】:

你可能有这样的事情:

$(selectorVariable)

...以及其他类似的东西:

$("something[" + attributeNameVariable + "!=somethingElse]")

在这两种情况下,您的变量为空都会出错,因为 """selector[!=value]" 不是有效的选择器。看看你是否在选择器中使用了变量,并添加if() 检查,这样如果选择器在这些情况下无效,它们就不会运行(有时变量中的空字符串很好,取决于它的使用位置) .

【讨论】:

    【解决方案2】:

    基本上,Firefox 对 javascript 有严格的规则,并且会在不影响 javascript 代码运行的琐碎问题上返回错误。在没有var 的情况下定义变量会在错误控制台中产生某种警告,尽管这样做非常好。这些编码实践对于缩小 javascript 并使 javascript 整体更精简和运行更快是很正常的——您会注意到大多数这些错误实际上发生在 jQuery 本身中。

    您可以在此处阅读有关 Firefox 严格 javascript 错误的更多信息:http://www.howtocreate.co.uk/strictJSFirefox.html

    可以关闭严格警告,但在开发过程中可能不建议这样做。

    TL;DR:如果一切正常,请不要担心它们,FF 只是过于挑剔了。

    【讨论】:

    • 看起来你对他们在 jQuery 中的看法是对的,所以我只希望他们在未来的版本中消失。
    • @Charles - 这不是 jQuery 错误,它是一个无效的选择器 你正在 尝试使用...错误确实是正确的,请参阅我的答案检查。
    • 我刚刚剥离了我的 HTML 文件,只剩下一个空的 标记和一个包含单个
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    • 2017-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多