Какая версия Javascript

Автор: Cake_Seller

Перевод статьи Стэфена Чапмэна (Stephen Chapman) «What Version of Javascript».
Перевел Cake_Seller.

Резюме: в статье описывается метод, с помощью которого можно определить какую версию Javascript поддерживает браузер.

Javascript, как и другие языки программирования, все время развивается. Это означает, что Javasctipt добавляются новые команды для того, чтобы обеспечить дополнительную функциональность и упростить решение различных задач.

Команды представленные в используемой вами версии языка поддерживаются только при условии, что браузер, который использует ваш посетитель, поддерживает эту или более новую версию Javascript. Если посетитель использует браузер с поддержкой более ранней версией Javascript, тогда команды, которые поддерживаются этой версией, станут причиной неожиданного результата, могут привести к сбою в работе скрипта или даже браузера. Чтобы решить эту проблему вы можете либо избегать команд, которые поддерживаются более ранними версиями Javascript, либо проверять какую версию Javascript поддерживает браузер.

Как же нам определить какую версию Javascript поддерживает браузер? К сожалению, Javascript не содержит средств для определения версии поддерживаемой браузером, но, на удивление, такими средствами обладает HTML. Мы можем получить переменную, содержащую значение поддерживаемой версии языка, скомбинировав HTML и Javascript, как это показано на примере:

<script type="text/javascript">
var jsver = 1.0;
</script>
<script language="Javascript1.1">
jsver = 1.1;
</script>
<script language="Javascript1.2">
jsver = 1.2;
</script>
<script language="Javascript1.3">
jsver = 1.3;
</script>
<script language="Javascript1.4">
jsver = 1.4;
</script>
<script language="Javascript1.5">
jsver = 1.5;
</script>
<script language="Javascript1.6">
jsver = 1.6;
</script>
<script type="text/javascript">
document.write('<p><b>Javascript
version ' + jsver
+ ' supported<\/b><\/p>');
</script>

Примечание переводчика:

Хотел вмонтировать скрипт в эту страницу, но не получилось по причине того что на выходе Wordpress слегка видоизменяет код скрипта. Поэтому наглядную демонстрацию вынес в отдельный файл:

Демонстрация работы скрипта

Еще одна неприятная новость. Скрипт не проходит тест на валидность кода. Валидатор ругается на то, что у тега <script> не указан атрибут "type". При попытке исправить это, скрипт перестает правильно работать – все время выводит что версия Javascript – 1.6, даже когда это не так.

Отзывов (4) на «Какая версия Javascript»

  1. 4X_Pro в 12.02.2009 at 20:43

    Такой код не пройдет валидацию в HTML Strict и XHTML. Да и вопрос: актуально ли это сейчас вообще? Проще по-моему, определять по броузеру, если это так необходимо…

  2. Cake_Seller в 13.02.2009 at 00:05

    Да, метод на самом деле говно и уже давно не актуален.

  3. Роман в 18.09.2009 at 20:49

    Узнать версию браузера можно вот так:

    document.write(”Данные Вашего браузера”);
    document.write(”Кодовое название браузера- “+navigator.appCodeName+”");
    document.write(”Браузер- “+navigator.appName+”");
    document.write(”Номер версии браузера- “+navigator.appVersion+”");
    if (navigator.javaEnabled()==1) document.write(”Браузер поддерживает JavaScript”);
    else
    document.write(”Браузер не поддерживает JavaScript”);

  4. Cake_Seller в 01.10.2009 at 12:28

    Уважаемый Роман, топик вообще-то не о том как определить версию браузера. Да и вообще, как написано в предыдущем моём комментарии — топик не актуален и врядли указанный в нём метод кому-нибуть когда-то понадобился.

    Но ваши познания в JavaScript меня удивили. Особенно понравилась строчка:

    else document.write(”Браузер не поддерживает JavaScript”);

    Это шедевр! Правда!

Оставьте свой комментарий