Est-il possible d'ouvrir personnalisé schéma d'URL avec Google Chrome?
J'ai protocol (http) avec régime géré 3ème partie App inscrit dans Mac OS X.
I. e, x-someapp://uneaction ou quelque chose comme ça.
Comment puis-je ouvrir cette URL avec Google Chrome?
Par défaut, google Chrome commence à chercher dans le moteur de Google au lieu de lancer l'App et en passant l'URL de la manipulation à elle...
Safari lance quelques enregistré App. Et c'est la bonne chose.
Firefox et Opera demande quoi faire... et je peux lancer l'Application également.
Mais Chrome... Ne me demandez pas.
J'ai même essayé d'écrire une page HTML avec du JavaScript à l'intérieur à envoyer XHttpRequest:
function _httpExecuteCallback()
{
if (httpRequestCallbackFunction != null) {
if (httpRequest.readyState == 4) {
if (httpRequest.status == 200) {
httpRequestCallbackFunction();
httpRequestCallbackFunction = null;
}
}
}
}
function _httpGet(url, callbackFunction)
{
httpRequest = false;
httpRequestCallbackFunction = callbackFunction;
httpRequest = new XMLHttpRequest();
httpRequest.onreadystatechange = _httpExecuteCallback;
httpRequest.open('GET', url, true);
httpRequest.send(null);
}
_httpGet('x-someapp://test',function(){})
Pas de résultats aussi...
Vous devez vous connecter pour publier un commentaire.
L'actuel accepté solution a un problème avec google Chrome pour SSL https. En regardant le journal de la console, google Chrome bloque la demande, car il pense que l'url personnalisée protocole n'est pas sécurisé:
Voici une solution (cela m'a pris quelques jours de recherche):
Ce code ne fonctionnera pas pour IE. J'ai trouvé à l'aide de cette technique, IE les limites de l'argument du protocole personnalisé à moins de 1000, où que l'utilisation de l'iFrame technique IE permettra 2083 caractères.
La seule façon de surmonter l'url de limite dans le javascript est chuck les données et de les appeler plusieurs fois. Si quelqu'un veut prendre un coup de couteau à l', s'il vous plaît laissez-moi savoir comment ça se passe. Je voudrais l'utiliser.
Pour manipuler des url dans l'exécution d'application, passer un jeton dans l'application et le faire aller d'obtenir les données à partir d'une url GET.
Donc pour l'instant je suis en utilisant une fonction de Chrome/FF et une autre fonction pour IE.
Ces liens m'ont aidé à développer cette solution:
https://superuser.com/questions/655405/custom-protocol-handler-not-working-in-chrome-on-ssl-page
Simuler un clic dans jQuery/JavaScript sur un lien
(si j'avais connu cela il y a quelques jours....espérons que cela aide quelqu'un)
==================================================
Mise à jour: (8h plus tard)
==================================================
Jake posté une excellente solution pour chrome: https://superuser.com/questions/655405/custom-protocol-handler-not-working-in-chrome-on-ssl-page
Cela fonctionne dans chrome n':
Il échouera dans une iframe c'est donc ce travail:
==================================================
Mise à jour: (semaines plus tard)
==================================================
Tous les exemples de l'ouverture du protocole personnalisé, dont le mien, ont un "://" dans l'url. Et c'est ce qui est à l'origine du SSL avertissements.
S'avère la solution est de changer "://" a ":"
donc faire ceci:
et le SSL avertissements vont s'en aller.
==================================================
Suivre: (après des mois d'utilisation de la production)
==================================================
Cela a bien fonctionné pour chorme. Détecter le navigateur et si chrome ce faire:
Pour IE et les autres navigateurs je ne quelque chose de légèrement différent.
Remarque que les navigateurs n'imposer une limite sur la quantité de données que vous pouvez mettre dans l'url personnalisée protocole. Tant que votre chaîne est inférieure à 800 caractères ce qui semble être le nombre magique de ce qui fonctionne dans tous les navigateurs.
On dirait que c'est Google locationbar l'analyse qui est d'obtenir de la manière.
Le navigateur, cependant, ne semblent poignée personnalisée schémas d'URL correctement. Essayez ceci dans votre locationbar:
Un lien sur votre page qui utilise le modèle personnalisé devrait également faire la bonne chose.
Voici une solution qui comprend également une redirection vers l'App Store /Play Store si l'utilisateur ne dispose pas de l'application. Il utilise un setTimeout pour cela. Il permet également l'utilisation d'une iframe à l'appui de plus en plus de navigateurs. Si cela fonctionne sur Chrome, et tout autre navigateur mobile. Nous l'utilisons comme mon entreprise, Branche. Modifier juste les deux liens ci-dessous pour correspondre à votre URI et l'App Store lien.
Encore une fois, cela devrait fonctionner sur n'importe quel navigateur, grâce à l'iframe.
Si Chrome ne reconnaît pas le schéma de l'URL par défaut, une recherche.
C'est ce que je vois dans Safari:
le texte d'alt http://img62.imageshack.us/img62/6792/clipboard02oh.jpg
et dans Firefox:
le texte d'alt http://img138.imageshack.us/img138/9986/clipboard04xk.jpg
Je crois que la raison pour laquelle google Chrome par défaut, la recherche est qu'il y a des recherches google qui utilisent le côlon.
E. g:
C'est l'un des inconvénients que j'ai avec Firefox, j'ai pour accéder à la "zone de recherche" plutôt que la barre d'adresse pour exécuter ces types de recherches. Depuis Chrome ne pas avoir une zone de recherche de Firefox, IE et Safari ont, cette fonctionnalité est requise.
Requêtes Ajax ne sera pas vous autour de cette.
J'ai trouvé la solution qui fonctionne avec google Chrome.
J'ai utiliser l'IFRAME-chemin.
Exemple (avec JQuery):
x-myproto://query?furries
dans la barre d'adresse, vous ouvrez un iframe avec elle, et puis Chrome utilise les application enregistrée pour aller chercher la chose à afficher à l'intérieur de l'iframe?