javascript
  • try-catch
  • 2012-03-31 40 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

    相關問題