2009-09-13 77 views
0

我目前正在封閉環境中開發一個基於Web的「幻燈片放映」類,使用Javascript移動到下一張幻燈片(具體是document.location,顯示後當前頁面延遲X秒)。我遇到的一個問題是,如果下一頁出於某種原因離線,整個幻燈片放映(頁面不可用的錯誤等)。在調用document.location之前檢查下一頁可用(javascript)

有沒有一種方法使用JavaScript檢查下一頁是否在重定向到之前在線?

編輯:我正在控制環境(內聯網) - 所以沒有關閉Javascript的機會。

回答

1

就我個人而言,我不會那樣檢查javascript,人們可能已禁用javascript。 我覺得HttpRequest對象很適合檢索HTTP響應。

退房http://www.w3schools.com/dom/dom_http.asp

<script type="text/javascript"> 

    function fileExists(URL){ 

     var httpRequest = window.XMLHttpRequest ? new XMLHttpRequest() 
          : window.ActiveXObject 
          ? new ActiveXObject("Microsoft.XMLHTTP") 
          : null;     
      httpRequest.open("HEAD",URL,false); 
     httpRequest.send(null); 
     return (httpRequest.status == 404) ? false : true; 
    } 

    function init(){ 

     if (fileExists('http://www.mysite.com/images/anything.jpg')) 
      { 
      alert('That file exists'); 
      } 
     else { 
      alert('That file does not exist'); 
      }  
    } 

    navigator.appName == "Microsoft Internet Explorer" ? attachEvent('onload', init, false) : addEventListener('load', init, false);  

</script> 
+1

使用功能檢測,而不是'navigator.appName'嗅探。 – 2009-09-13 14:01:51

0

通過Ajax請求下一個頁面,如果您沒有獲得成功的響應,請不要重定向到下一頁。

相關問題