обработка ошибок document.location - PullRequest
2 голосов
/ 01 апреля 2012

У меня есть следующий Javascript. Оператор document.location выдает ошибку, так как URL не существует. Я думал, что блок try / catch будет ловить любые ошибки. Однако это не работает. Есть идеи, как избежать этой ошибки и продолжить обработку остальной части скрипта?

<script type="text/javascript">
function foo() 
{
  try
  {
    document.location='non-existing-site.com';
  }
  catch(err)
  {
  }

}
</script>

Ответы [ 2 ]

0 голосов
/ 01 апреля 2012

Это не сработает, так как этот оператор просто перенаправляет страницу на адрес, и этот скрипт будет выгружен.Вы можете использовать XMLHttpRequest, если хотите проверить URL.Вот пример http://ajaxpatterns.org/XMLHttpRequest_Call

0 голосов
/ 01 апреля 2012

Когда вы меняете местоположение, вы только что перенаправили ...
Обработка ошибок должна быть на новой странице. В вашем примере в 'non-existing-site.com'
HTML и javascript предыдущей страницы на данном этапе не имеют значения.

Вы можете открыть новую страницу в дочернем окне, если хотите (хотя всплывающее окно - это гадость ...)

var newWindow = window.open('non-existing-site.com', "windowName");
...