Можно ли как то обработать undefined?
Есть скрипт, который на сайте отображает город посетителя в шапке справа вот в таком вот виде. Но бывает так, что иногда скрипт вместо города выдаёт undefined. И собственно вопрос: А можно как-то дописать/переписать скрипт, чтобы если undefined то вместо него показывало например текст: Доставка до вашего места? Помогите пожалуйста это исправить.
<!-- Определение города посетителя -->
<script src="http://code.jquery.com/jquery-1.10.2.min.js" type="text/javascript"></script>
<script src="https://api-maps.yandex.ru/2.0/?load=package.full&lang=ru-RU" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
ymaps.ready(function(){
var geolocation = ymaps.geolocation;
//$('#cou').html('Ваша страна: '+geolocation.country);
$('#tow').html('Выдача заказов в г. '+geolocation.city);
//$('#reg').html('Ваш регион: '+geolocation.region);
});
});
</script>
<!-- Определение города посетителя -->
<span id="tow">... определяется ...</span>
Ответы (1 шт):
Автор решения: Rikky
→ Ссылка
Можно, воспользуемся проверкой if else - если условие внутри if (здесь) верно, то выполнятся команды внутри { } после if. А если неверно - то выполнятся команды внутри { } после else. Восклицательный знак является отрицанием, т.е. != можно прочитать как "не равно".
....
var geolocation = ymaps.geolocation;
if (geolocation.city != undefined) { // если не undefined
$('#tow').html('Выдача заказов в г. '+geolocation.city); // выводим город
} else { // иначе
$('#tow').html('Доставка до вашего места'); // выводим надпись
}
....