0
function check()
{
    if (window.XMLHttpRequest){
            // code for IE7+, Firefox, Chrome, Opera, Safari
                var request = new XMLHttpRequest();
        }
        else{
            // code for IE6, IE5
            var request = new ActiveXObject("Microsoft.XMLHTTP");
        }

        dname="http://www.w3schools.com/js/default/gfdghkjfdh.html";
        request.open("HEAD", dname,true);
        request.send();
        if(request.status !== 404){ 
            window.location.href=dname;
        }
        else{
            window.location.href="http://www.google.com";
        }
    }    

上面的代码只检查服务器是否连接,它不检查 URL 的最后部分“gfdghkjfdh.html”是否可用。

有任何方法可以检查 URL“ http://www.w3schools.com/js/default/gfdghkjfdh.html ”正确使用 javascript 或任何客户端技术。请任何人帮助我

4

1 回答 1

0

上面的代码只检查服务器是否连接,它不检查 URL 的最后部分“gfdghkjfdh.html”是否可用。

不,它没有。XHR 向第三方服务器发出 HTTP 请求,没有获得 CORS 标头允许它将从该服务器获得的信息公开给在其他人页面上运行的 JavaScript,然后不向脚本公开状态。

有任何方法可以"http://www.w3schools.com/js/default/gfdghkjfdh.html"使用 javascript 或任何客户端技术正确检查 URL。

JavaScript?不。

其他客户端技术?也许。

一个签名的 Java 小程序可能能够(如果用户在支持 Java 的平台上运行(因此不是移动的),并且安装了 Java,并且接受了安全警报,并且首先允许在浏览器中使用 Java(这是考虑到它最近遇到的安全问题的数量,这不是一个好主意))。

ActiveX 控件可能能够(如果用户在 Windows 上运行的是足够旧版本的 Internet Explorer,并且接受了安全警报)。

Flash……可能不能。我认为它需要一个 crossdomain.xml 文件来授予它权限。

那么,其他客户端技术呢?也许,但不是以任何实际的方式。

您可以向您自己的服务器发出 XMLHttpRequest,然后让您自己的服务器尝试联系第三方服务器。这会增加您自己服务器上的负载,有时您的服务器与第三方服务器之间的连接将不同于它与客户端之间的连接。

于 2013-04-10T18:14:43.197 回答