Javascript 如何知道url是否可用?

Javascript 如何知道url是否可用?,javascript,jquery,url,validation,Javascript,Jquery,Url,Validation,我有一个重定向到intranet方向的链接: <a href="http://10.2.68/name/">Go</a> 只有内联网中的用户才能访问,否则会出现404错误。在重定向之前,我想知道url是否有效,这样,离开intranet的用户不会收到404错误,而是会收到一条消息,说“你没有访问权”。如何使用jquery或javascript实现这一点 编辑: 好的,非常感谢,但不幸的是,任何方法都不适合我。对不起,我没有提到网站和内部网url在不同的域中。 最后,

我有一个重定向到intranet方向的链接:

<a href="http://10.2.68/name/">Go</a>

只有内联网中的用户才能访问,否则会出现404错误。在重定向之前,我想知道url是否有效,这样,离开intranet的用户不会收到404错误,而是会收到一条消息,说“你没有访问权”。如何使用jquery或javascript实现这一点

编辑: 好的,非常感谢,但不幸的是,任何方法都不适合我。对不起,我没有提到网站和内部网url在不同的域中。
最后,我必须在codebehind中验证用户IP,并写入或不写入内部网url。

或许可以使用htaccess文件来检测内部网络?

您可以使用此jQuery插件向远程文件发出head请求,如果它返回的内容是好的(例如,您可以显示它),否则就不显示它

插件:

您可以先发出ajax请求,例如:

$.ajax({
  url: "http://10.2.68/name/",
  context: document.body,
  success: function(){
       window.location = "http://10.2.68/name/";
  }
});
这可以通过绑定到链接上的click事件来运行


不确定它是否会因为跨来源的东西而工作,但可能是一个很好的开始。

最好的答案是在用户尝试单击链接之前,禁用处于非活动状态的链接(为什么要让他们尝试?)

但是如果你不想打电话,因为每分钟都有成千上万的用户在浏览网页

jQuery(function($) { // make sure dom is ready

    $('#link').click(function() {
        $.ajax( {
           url: url,
           //dataType: 'JSONP', //might need this?
           success: function() {
              window.location = url;
           },
           error: function() {
              // does this work with JSONP? be sure to check!
              window.alert('could not connect');
           }
        }
    });

});

假设您的锚具有ID:

<a id="lnkGo" href="http://10.2.68/name/">Go</a>

此外,请记住,这不会在跨域问题上起作用。url必须与当前域相同

这样行吗?我想,当
ajax
sync调用时,点击链接就会被重定向
<a id="lnkGo" href="http://10.2.68/name/">Go</a>
$("#lnkGo").bind("click", function() {
    var $that = $(this);
    $.ajax({
      url: $that.attr("href"),
      statusCode: {
        200: function() {
          window.location = $that.attr("href")
        },
        404: function () {
          alert("Sorry, page is unavailable...");
        }
      }
    });
    return false;
});