JavaScript - comment détecter si le schéma d'URL personnalisé est disponible ou non?
Du système d'exploitation Windows, j'ai un custom schéma d'URI, qui est utilisé à partir de
IE, Firefox, Opera, Safari, Google Chrome
pour le lancement de Juniper router VPN client SSH (Cisco). Fondamentalement, il fonctionne comme ci-dessous si le Client SSH est installé, à partir de la page web VPN Client SSH peut être lancé.
<a href="juniper:open"> VPN SSH Client </a>
Problème:
parfois, l'utilisateur n'a pas installé le routeur Juniper client SSH application à partir du CD/DVD boîte, donc le genévrier:ouvert ne fait rien.
Donc, dans ce cas, j'ai besoin de détecter le temps ou pas le schéma d'URL est disponible.
Donc, j'ai essayé la méthode Javascript mais sa ne fonctionne pas exactement. parce que le genévrier:ouvrir est en fait pas de lien web.
Comment puis-je détecter s'il vous plaît?
<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>
Alors:
<a onclick="test1()">TEST 1</a>
<a href="juniper:open" onclick="test2(this.href);return false;">TEST 2</a>
source d'informationauteur YumYumYum
Vous devez vous connecter pour publier un commentaire.
MODIFIER
Suivant les suggestions dans les commentaires:
et
Le prix que vous devez payer, est un doublon de demande de la page.
MODIFIER
C'est une bonne solution de contournement pour la politique de l'origine, ce qui empêche une asynch version à l'aide de XMLHTTPRequest pour fonctionner correctement, depuis SOP limite de la croix-domaine de requêtes http et de genièvre:ouvrez serait donc toujours voués à l'échec.
MODIFIER
La solution initiale ci-dessous ne fonctionne pas cause pas une exception est levée si le protocole n'est pas pris en charge.
Après la recherche d'un lot, je n'ai pas venu à tout ce qui peut aider à résoudre mon problème. Mais c'est ce que je suis en train de faire le
1) Écrire un minuscule petit serveur web qui peuvent s'exécuter sur le PC 24/7 sur démarrer, sur crash. Natif de python:
2) minuscule serveur va écouter sur le port anormal comme 10001 ou tel ports TCP qui ne s'habituent jamais
3) de Navigateur, nous devons communiquer avec le
http://localhost:10001
juste pour obtenir une réponse4) en fonction de cette réponse, nous avons à décider
Sinon il n'y a aucun moyen semble être disponible
EDIT: Ou vous pouvez le faire de cette façon: InnoSetup - Est-il possible de créer manuellement des cookies pour Internet explorer?