自从我升级到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代码似乎都运行正常,所以我不愿花费大量时间砍掉我的代码来跟踪这些消息。但是,任何人都可以提出引发警告的内容吗?
答案 0 :(得分:2)
你可能有这样的事情:
$(selectorVariable)
......以及这些方面的其他内容:
$("something[" + attributeNameVariable + "!=somethingElse]")
在这两种情况下,您的变量为空都会出错,因为""
和"selector[!=value]"
不是有效的选择器。看看你是否在选择器中使用变量,并添加if()
检查,以便在这些情况下选择器无效时它们不会运行(有时变量中的空字符串很好,取决于它的位置)使用)。
答案 1 :(得分:0)
基本上,Firefox对javascript有严格的规则,并且会在不影响javascript代码运行的琐碎事项上返回错误。在没有var
的情况下定义变量,我会在错误控制台中创建某种警告,尽管这样做完全没问题。这些编码实践对于缩小javascript和使javascript整体更精简和运行速度更快是正常的 - 你会发现大多数这些错误实际上都发生在jQuery本身。
您可以在此处详细了解Firefox严重错误:http://www.howtocreate.co.uk/strictJSFirefox.html
可以关闭严格的警告,但在开发过程中可能不合适。
TL; DR:如果一切正常,不要担心它们,FF只是过于挑剔。