我目前正在一个封闭的环境中开发基于网络的“幻灯片放映”,使用Javascript移动到下一张幻灯片(特别是document.location,显示当前页面延迟X秒后)。我遇到的一个问题是,如果下一页出于某种原因离线,则整个幻灯片会中断(页面不可用错误等)。
有没有办法在重定向到它之前使用javascript检查下一页是否在线?
编辑:我正在控制环境(内部网) - 因此没有机会关闭Javascript。
答案 0 :(得分:1)
我个人不会在javascript中检查,人们可能禁用了javascript。 我认为Http Request Object可以很好地检索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 :(得分:0)
通过Ajax请求下一页,如果没有成功响应,请不要重定向到下一页。