function CheckURL(URL)
{
  var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  xmlhttp.Open("GET",URL, false);
  try
  { 
    xmlhttp.Send(); 
    var result = xmlhttp.status;
  }
  catch(e) {return(false); }
  if(result==200)
  { 
    alert("该网页存在, 且正常打开!"); 
    return true;
  }
  xmlhttp = null;
  return false;
}
CheckURL("http://www.csdn.net/");

解决方案 »

  1.   

    其实不想用这个解决弄得。
    我是想检测Url Protocol的,比如mailto有没有装(这个当然大家都装的,只是我要检测自己的)
    比如xyz:abc,如果我的xyz协议装过了,那就正常调用,如果没有就不正常了。
    不过对mailto是可以的,可是我自己的不行啊
      

  2.   

    mailto result返回0,而且send的时候也会打开一个mail程序。
    function CheckURL(URL)
    {
    var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    xmlhttp.Open("GET",URL, false);
    try

      xmlhttp.Send();
      var result = xmlhttp.status;
      alert(result)
    }
    catch(e) {return(false)}
    xmlhttp = null;
    return true;
    } function JBQChat(tojid){
    var url="jbq:[email protected]&to="+tojid
    var url="mailto:[email protected]"
    if (CheckURL(url))
    location.href=url
    else
    alert('JBQ未安装')


    //alert(url)
    return false
    }我的程序在这里:
    http://www.impx.net/download/jabber/web/因为如果自己的AcitveX好像会被浏览器的安全级别限制掉,只好直接这样判断。
      

  3.   

    唉。。我表达不好就是这样子说吧,我的程序会在电脑上注册一个协议jbq
    然后就可以像mailto那样访问了,比如jbq:[email protected]....,就会调用我的程序
    但是如果没有装那个程序,也就是没有注册那个协议,如果访问jbq:chat?....这样就会得到语法错误,那我现在要的就是检测是不是会语法错误,依此来判断是否安装过程序。
    原来读注册表判断,但是很多人的浏览器都不运行这个ActiveX(shell)。因为就行不通了。