jQuery导致Firefox大小调整警告

时间:2013-03-09 03:48:14

标签: jquery css firefox web-developer-toolbar

我有WebDeveloper扩展,我收到了CSS警告,所以我去调查它。警告是以下3点之一:

Warning: Unknown property 'box-sizing'.  Declaration dropped.
Line: 0

然后我做了一个空白文件,注意到它不存在。几分钟后,我发现了一个可重现的原因:包括jQuery 1.9.1脚本!

我能做什么或应该做什么?我想使用jquery,但我觉得有点烦人,我将永远在工具栏中看到CSS警告。

<!DOCTYPE html>
<html>
<head></head>
<body>
<div>Empty</div>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
</body>
</html>

2 个答案:

答案 0 :(得分:22)

选项

  1. 使用jQuery 1.7.2。
  2. 提出jQuery团队的问题并希望修复(或自己提供)。
  3. 使用Firebug代替WebDeveloper(可能有帮助,也可能没用)。
  4. 忽略它。
  5. 只要页面呈现正确,我相信这是一个警告,您可以放心地忽略,即使您正在构建一个严格要求验证CSS的网站。

    一旦Firefox完全支持box-sizing(不需要-moz-前缀),警告就会消失,但直到Firefox 21之后的某个版本才会发生。

    背景信息

    警告来自某些CSS样式所需的不同语法。要支持所有浏览器,通常必须指定所有各种语法。浏览器将忽略他们不认识的那些。

    对于box-sizing,Firefox需要-moz-前缀,早期版本的Safari Mobile和Android浏览器需要-webkit-前缀,其他浏览器根本不需要前缀:

    -webkit-box-sizing: content-box;
       -moz-box-sizing: content-box;
            box-sizing: content-box;
    

    添加线性渐变时会出现类似的问题,在这种情况下由值而不是属性名称引起:

    background-image: -webkit-linear-gradient(top, #444, #999);
    background-image:    -moz-linear-gradient(top, #444, #999);
    background-image:     -ms-linear-gradient(top, #444, #999);
    background-image:      -o-linear-gradient(top, #444, #999);
    background-image:         linear-gradient(top, #444, #999);
    

    当使用不同的语法产生警告时,通常情况下验证器或错误控制台不够智能,无法识别通常无法避免的无害的实际问题。公平地说,它实际上被认为是警告,而不是错误。

    其他信息

    较新版本的jQuery使用box-sizing样式用于内部目的。 jQuery 1.8.0只产生一个box-sizing警告,jQuery 1.7.2不产生任何警告。

    jQuery可能会以轻微的方式使用它 - 如果没有首先测试它是否有某种类型的支持 - 但没有做任何实际的伤害。如果是这样,如果有足够的人向jQuery团队抱怨,jQuery代码可能会被重构以解决这个问题(以jQuery运行速度慢一点为代价)。

    如果警告大约是-moz-box-sizing而不是box-sizing,则更有可能表明Firefox可能存在错误,而不是jQuery的小问题。

答案 1 :(得分:2)

根据jQuery人员的说法,这是一个Firefox问题,他们对此无能为力。截至Firefox 27(测试版),它仍在发生。请参阅:http://bugs.jquery.com/ticket/13569