我目前正在封閉環境中開發一個基於Web的「幻燈片放映」類,使用Javascript移動到下一張幻燈片(具體是document.location,顯示後當前頁面延遲X秒)。我遇到的一個問題是,如果下一頁出於某種原因離線,整個幻燈片放映(頁面不可用的錯誤等)。在調用document.location之前檢查下一頁可用(javascript)
有沒有一種方法使用JavaScript檢查下一頁是否在重定向到之前在線?
編輯:我正在控制環境(內聯網) - 所以沒有關閉Javascript的機會。
我目前正在封閉環境中開發一個基於Web的「幻燈片放映」類,使用Javascript移動到下一張幻燈片(具體是document.location,顯示後當前頁面延遲X秒)。我遇到的一個問題是,如果下一頁出於某種原因離線,整個幻燈片放映(頁面不可用的錯誤等)。在調用document.location之前檢查下一頁可用(javascript)
有沒有一種方法使用JavaScript檢查下一頁是否在重定向到之前在線?
編輯:我正在控制環境(內聯網) - 所以沒有關閉Javascript的機會。
就我個人而言,我不會那樣檢查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>
通過Ajax請求下一個頁面,如果您沒有獲得成功的響應,請不要重定向到下一頁。
使用功能檢測,而不是'navigator.appName'嗅探。 – 2009-09-13 14:01:51