在调用document.location(javascript)之前检查下一页是否可用

时间:2009-09-13 12:33:47

标签: javascript

我目前正在一个封闭的环境中开发基于网络的“幻灯片放映”,使用Javascript移动到下一张幻灯片(特别是document.location,显示当前页面延迟X秒后)。我遇到的一个问题是,如果下一页出于某种原因离线,则整个幻灯片会中断(页面不可用错误等)。

有没有办法在重定向到它之前使用javascript检查下一页是否在线?

编辑:我正在控制环境(内部网) - 因此没有机会关闭Javascript。

2 个答案:

答案 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请求下一页,如果没有成功响应,请不要重定向到下一页。