Подтвердить что ты не робот

JQuery вызывает предупреждения по размеру окна Firefox

У меня есть расширение WebDeveloper, и у меня появилось предупреждение о CSS, поэтому я пошел исследовать его. Предупреждение: 3 из следующего:

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

Затем я сделал пустой файл и заметил, что его там нет. Несколько минут спустя я нашел воспроизводимую причину: в том числе jQuery 1.9.1 script!

Что мне делать или делать? Я хочу использовать 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>
4b9b3361

Ответ 1

Опции

  • Используйте jQuery 1.7.2.
  • Поднимите проблему с командой jQuery и надейтесь на исправление (или укажите ее самостоятельно).
  • Используйте Firebug вместо WebDeveloper (который может или не поможет).
  • Игнорировать его.

Пока страница отображается правильно, я считаю, что это предупреждение, которое вы можете спокойно игнорировать, даже если вы создаете веб-сайт, который строго требует проверки 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.

Ответ 2

По словам людей jQuery, это проблема с Firefox, и они ничего не могут с этим поделать. С Firefox 27 (бета) это все еще происходит. См.: http://bugs.jquery.com/ticket/13569