Le principe est d'ajouter le site aux favoris automatiquement, à partir d'une simple fonction, selon le navigateur.
L'idéal est d'utiliser au minimum les "navigator.userAgent.indexOf('BrowserId')" et autres pour connaître le butineur utilisé, et ainsi éviter les erreurs d'identification posé par le remplacement des cette chaîne 'BrowserId' par le navigateur.
Le retour de la fonction est l'un de ces événements :
- Navigateur reconnu, automatisation de l'enregistrement par le navigateur.
- Navigateur reconnu mais rien n'est prévu par le navigateur, afficher le raccourci possible par une boite de dialogue.
- Navigateur inconnu, afficher un message d'erreur par une boite de dialogue.
- Ou imprévu ; réponse TRUE à l'un des tests, mais incapacité d'exploitation (le cas de Konqueror) et rien ne se produit.
Je n'ai pas testé sous Mac, et j'espères ne pas m'êttre trompé dans le raccourci ; le comportement de Safari, Camino etc... m'est inconnu.
Il y a un problème avec Konqueror, il répond TRUE un peu partout, mais rien ne peut être utilisé ; j'ai placé provisoirement (enfin je le souhaite) un indexOf pour le reconnaître.
Les tests de reconnaissance ne sont pas de moi, ils existaient déjà sur le web. Je propose juste un regroupement (peut être) pratique.
Bien entendu il est toujours possible de passer le nom et url du site en paramètre de la fonction ;)
Source / Exemple :
function fav () {
siteURL = "http://www.monsite.ext/"
siteNOM = "LeSite"
/*-- MESSAGE --*/
function myMessage (raccourciClavier) {
alert ("Utilisez '" + raccourciClavier + "'\npour ajouter " + siteNOM + " dans vos favoris !");
}
/*-- TRAITEMENT DES NAVIGATEURS --*/
//Konqueror
if (navigator.userAgent.indexOf('Konqueror') >= 0) {
/*Test a effectuer avant tout les autres car repond TRUE aux differents tests sans pouvoir les exploiter*/
myMessage("CTRL + B");
}
else if (window.external) {
/* Internet Explorer 4+, et ses dérivés (Crazy Browser, Avent Browser ...) */
window.external.AddFavorite(siteURL,siteNOM);
}
else if (document.all && (navigator.userAgent.indexOf('Win') < 0)) {
/* Internet Explorer Mac */
myMessage("POMME + D");
}
else if (window.opera && window.print) {
/* Opera 6+ */
myMessage("CTRL + T");
}
else if (window.sidebar) {
/* Netscape 6+ ; Mozilla, FireFox et compagnie (K-Meleon ...) */
window.sidebar.addPanel(siteNOM,siteURL,"");
}
else if (document.layers) {
/* Netsccape 4 */
myMessage("CTRL + D");
}
else alert ("Cette fonction n'est pas disponible pour votre navigateur.");
}
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.