Какая версия 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, даже когда это не так.