JavaScript - como detectar se o esquema de URL personalizado está disponível ou não?

No sistema operacional Windows, eu tenho um esquema de URI personalizado, usado em

IE, Firefox, Opera, Safari, Google Chrome

para iniciar o cliente SSH VPN do roteador Juniper (como Cisco). Basicamente, funciona da seguinte forma, se o Cliente SSH estiver instalado, a partir da página da Web Cliente SSH VPN pode ser iniciado.

<a href="juniper:open"> VPN SSH Client </a>

Problema:

Às vezes, o usuário não instalava o aplicativo cliente SSH do roteador Juniper a partir da caixa de CD / DVD; portanto, o juniper: open não faz nada.

Portanto, nesse caso, preciso detectar o clima ou o esquema de URL não está disponível.

Portanto, tentei o método Javascript, mas não está funcionando exatamente. porque o zimbro: aberto não é realmente um link da web.

Como faço para detectá-lo, por favor?

<script>
// Fails
function test1(){
  window.location = 'juniper:open';
  setTimeout(function(){
    if(confirm('Missing. Download it now?')){
      document.location = 'https://www.junper-affiliate.com/setup.zip';
    }
  }, 25);

  //document.location = 'juniper:open';
}

// Fails
function test2(h){
  document.location=h;
  var time = (new Date()).getTime();
  setTimeout(function(){
   var now = (new Date()).getTime();
   if((now-time)<400) {
    if(confirm('Missing. Download it now?')){
     document.location = 'https://www.junper-affiliate.com/setup.zip';
    } else {
     document.location=h;
    }
   }
  }, 300);
 }
</script>

Então:

<a onclick="test1()">TEST 1</a>
<a href="juniper:open" onclick="test2(this.href);return false;">TEST 2</a>

questionAnswers(2)

yourAnswerToTheQuestion