Как проверить, что объект или метод поддерживается браузером

Проверка поддержки объекта в JavaScript

Некоторые возможности JavaScript работают только в определенных браузерах,
поэтому использовать эти возможности следует только убедившись, что они доступны
в браузере, в котором пользователь просматривает вашу веб-страницу.
Конечно, можно узнавать, какой именно браузер используется, включая его
версию. Но невозможно учесть все существующие браузеры и  браузеры или
версии браузеров, которые появятся после написания вашего скрипта! Универсальный
подход – проверять доступность объекта (метода, свойства и т.д.), который вы
собираетесь использовать.
Например, если в скрипте используется массив document.images, проверим,
поддерживает ли его браузер:

if (document.images)
{
	// использование document.images
}

При проверке доступности метода нужно указывать метод без скобок:

if (window.focus)

Эта запись означает: "Если метод focus поддерживается", в то время как запись

if (window.focus())

означает: "Если можно перевести фокус на окно" и предполагает, что этот метод
поддерживается, т.е. потенциально может привести к ошибке. Указав скобки (), вы
фактически выполняете команду. Таким образом, для безопасного выполнения метода
нужно написать:

if (window.focus) window.focus()

Аналогично можно проверить, что в браузере включена поддержка JavaScript.

(По материалам статьи "Object detection")

Опубликовано в рубрике JavaScript |

2 комментария на «Как проверить, что объект или метод поддерживается браузером»

  1. EsseftHew говорит:

    Уважаемые читатели. С Рождеством христовым хочется вас поздравить. Админу сайта отдельное пожелание-побольше читателей на блоге, креативных интересных статей и всего всего всего 🙂

  2. EsseftHew говорит:

    А мне пост понрвился. Добавил в букмарки.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *