Описание: Набор свойств, которые представляют различные функции браузера или ошибки.
jQuery.support
Добавлена в версию: 1.3
Добавлено в jQuery 1.3 Коллекция свойств, которая показывает наличие различных особенностей или ошибок в браузере.
Много таких свойств низкоуровневые, поэтому вряд ли они будут полезны в ежедневной разработке, но все же большинство из них используются разработчиками ядра и дополнений.
Значения всех поддерживаемых свойств определяются при помощи функций обнаружения (но не пытайтесь использовать их для сниффинга).
Несколько отличных ресурсов, поясняющих как работает обнаружение особенностей браузера:
- http://peter.michaux.ca/articles/feature-detection-state-of-the-art-browser-scripting
- http://yura.thinkweb2.com/cft/
- http://www.jibbering.com/faq/faq_notes/not_browser_detect.html
Встроенные в jQuery.support тесты:
ajaxравен true если браузер способен создать объектXMLHttpRequest.boxModelустанавливается в true, если страница обрабатывается браузером в соответствие с моделью W3C CSS Box Model (в настоящий момент не поддерживается в IE 6 и 7, когда они в режиме Quirks Mode). Пока документ полностью не загружен, данное свойство имеет значение null.changeBubblesравен true, если события пузырькового изменения вверх по дереву DOM, соответствуют требованиям W3C DOM event model. (в настоящий момент не поддерживается в IE, и jQuery имитирует пузырьки).checkCloneравен true если браузер правильно клонирует состояние переключателей или флажков во фрагментах фрагмента.checkOnравен true если значение флажка по умолчанию "on", когда значение не указано.corsравен true если браузер способен создать объектXMLHttpRequestи если этот объектXMLHttpRequestимеет свойствоwithCredentials. Для того чтобы включить кросс-доменные запросы в средах, которые еще не поддерживают cors, но позволяют кросс-доменные запросы XHR (гаджеты windows, и т.д.), установите$.support.cors = true;.CORS WDcssFloatустанавливается в true, если имя свойства, содержащее значение float равно .cssFloat, как установленно в the CSS Spec. (в настоящий момент не поддерживается в IE, там используется styleFloat).hrefNormalizedустанавливается в true если метод.getAttribute()извлекает атрибутhrefэлементов неизменным, а не нормализацию его в полный URL. (в настоящий момент не поддерживается в IE, адреса URLs нормализованны).
leadingWhitespaceустанавливается в true, если браузер вставляет содержание с .innerHTML, точно, как это предусмотрено, если ведущие пробельные символы сохраняются (в настоящий момент не поддерживается в IE 6-8).noCloneCheckedравен true если клонированные элементы DOM копируют состояние.checked. (в настоящий момент не поддерживается в IE). (Добавлено в jQuery 1.5.1)noCloneEventустанавливается в true, если клонированные элементы DOM создаются без обработчиков событий (то есть, если обработчики событий на исходный элемент, не клонируются). (в настоящий момент не поддерживается в IE).opacityустанавливается в true, если браузер правильно интерпретирует свойство видимости элемента (в настоящий момент не поддерживается в IE, там используются alpha-фильтры).optDisabledравен true если опция элементов внутри отключенных элементрв выбора не автоматически помечается как отключенная.optSelectedравен true если элемент<option>, который выбран по умолчанию имеет рабочее свойствоselected.scriptEval()устанавливается в true, если встроенные скрипты автоматически оцениваются и выполняются, когда вставляются в документ, используя стандартные манипуляции DOM методов, такие как.appendChild()и.createTextNode(). (в настоящий момент не поддерживается в IE, там используется.textдля встраивания исполняемых скриптов).Примечание: До jQuery 1.5.1, методscriptEval()был статичным свойствомscriptEval. Изменения в методе позволяют отложить тестирование до первого использования.styleустанавливается в true если втроенные стайлы для элемента могут быть доступны через атрибут DOM, называемый style, в соответствии с требованиями спецификации DOM Уровня 2. В этом случае,.getAttribute('style')получит это значение; в Internet Explorer,.cssTextиспользуется для этой цели.submitBubblesравен в true если отправка события пузырей вверх по дереву DOM, соответствует требованиям W3C DOM event model. (в настоящий момент не поддерживается в IE, и jQuery имитирует пузыри).
tbodyравен true если элемент<table>может существовать без элемента<tbody>. В соответствии со спецификацией HTML, этот вложенный элемент не является обязательным, поэтому свойство должно быть указано как true в полностью совместимом браузере. Если false, мы должны учитывать возможности браузера безусловно инъекцировать теги<tbody>. (в настоящий момент не поддерживается в IE, который автоматически вставляетtbodyесли он не присутствует в строке, присвоеннойinnerHTML).
Примеры
Проверяет свойство box model для фрейма.
$("p").html("This frame uses the W3C box model: <span>" +
jQuery.support.boxModel + "</span>");
Полный код:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript" language="javascript"> $(document).ready(function(){ $("p").html("This frame uses the W3C box model: <span>" + jQuery.support.boxModel + "</span>"); }); </script> <style> p { color:blue; margin:20px; } span { color:red; } </style> </head> <body> <p> </p> </body> </html>
Пример 2
Возвращает false, если страница в режиме QuirksMode в Internet Explorer.Query.support.boxModel
false
Была ли эта информация полезной?

