javascript
  • try-catch
  • 2012-03-31 35 views 2 likes 
    2

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

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

    回答

    -1

    当你改变你只是重定向的位置...
    错误处理需要在新的一页。在你的例子中,'non-existing-site.com'
    上一页的HTML和javascript是无关紧要的。

    您可以在子窗口中打开新页面,如果你想(虽然弹出是呸......)

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

    如何将脚本放到您不控制的域,特别是不存在的域? – 2012-03-31 20:16:31

    +0

    @EugeneRetunsky。谁说这是一个不同的领域?顺便说一下,它可以完成。选中[Fiddle](http://jsfiddle.net/U6KHR/1/)。这不是Ajax请求。 – gdoron 2012-03-31 20:18:20

    0

    这是行不通的,因为这语句简单的页面重定向到地址和此脚本将被卸载。如果你想检查一个URL,你可以使用XMLHttpRequest。下面是一个示例http://ajaxpatterns.org/XMLHttpRequest_Call

    相关问题