【问题标题】:document.location error handlingdocument.location 错误处理
【发布时间】:2012-03-31 20:09:15
【问题描述】:

我有以下 Javascript。由于 URL 不存在,document.location 语句会产生错误。我认为 try/catch 块会捕获任何错误。但是,这不起作用。任何想法如何避免此错误并继续处理脚本的其余部分?

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

}
</script>

【问题讨论】:

    标签: javascript try-catch


    【解决方案1】:

    这不起作用,因为该语句只是将页面重定向到该地址,并且该脚本将被卸载。如果要检查 URL,可以使用 XMLHttpRequest。这是一个例子http://ajaxpatterns.org/XMLHttpRequest_Call

    【讨论】:

      【解决方案2】:

      当您更改刚刚重定向的位置时...
      错误处理需要在新页面中。在您的示例中 'non-existing-site.com'
      上一页的 HTML 和 javascript 在这一点上是无关紧要的。

      如果您愿意,可以在子窗口中打开新页面(虽然弹出窗口很糟糕...)

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

      【讨论】:

      • 如何将脚本放到您无法控制的域中,尤其是放到不存在的域中?
      • @EugeneRetunsky。谁说这是一个不同的域?顺便说一句,它可以做到。检查这个Fiddle。这不是 ajax 请求。
      猜你喜欢
      • 1970-01-01
      • 2016-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-31
      • 1970-01-01
      相关资源
      最近更新 更多