begin process at 2012 02 12 02:59:03
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > AJOUT AUX FAVORIS MULTI-NAVIGATEUR

AJOUT AUX FAVORIS MULTI-NAVIGATEUR


 Information sur la source

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :ajouter, favoris, navigateur, tous Niveau :Débutant Date de création :15/08/2005 Date de mise à jour :16/08/2005 02:29:48 Vu :11 329

Auteur : Joss7fr

Ecrire un message privé
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

 Description

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

  • 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.");
  • }
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.");
}



 Historique

16 août 2005 02:29:49 :
Juste un petit changement des commentaires, pour spécifier un peu mieux les navigateurs concernés.

 Sources de la même categorie

COLONNES ADAPTABLES EN HAUTEUR par dronoide
Source avec Zip VECTEURS ET MATRICES: OUTILS GRAPHIQUES UTILES par william voirol
Source avec Zip Source avec une capture HTML5 PLAYER par kazma
Source avec Zip Source avec une capture SCROLLBAR PERSONNALISABLE par kazma
Source avec Zip INFO BULLE par RudiRatlos

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture NAVIGATEUR INTERNET HAVRET par HAVRETos
DÉSACTIVER LE BOUTON BACK DU BROWSER par Martin72
Source avec Zip VIRTUAL IPHONE par loicseg
Source avec Zip Source avec une capture NAVIGATEUR INTERNET AVEC ONGLETS par loicseg
CRÉER UNE RÈGLE CSS POUR QU'ELLE S'APPLIQUE À UNE ÉLÉMENT DO... par FREMYCOMPANY

Commentaires et avis

Commentaire de Zart le 15/08/2005 17:50:54

1.
Je vois pas pourquoi il faudrait signaler à l'utilisateur comment ajouter un lien à ces favoris.
2.
Tu ne peux pas faire de liste exhaustive de tous les navigateurs... C'est impossible. Demain un nouveau navigateur va sortir et tu devras retoucher à ton code... A mon avis ça n'est pas viable.
3.
Tu ne tiens pas compte ni de Mozilla FireFox ni de CrazyBowser, ça veut bien dire qu'il est impossible de référencer tous les navigateurs !!!

Commentaire de jfperras le 15/08/2005 19:21:00

meme chose que Zart... pas assez polyvalent

Commentaire de Joss7fr le 15/08/2005 19:22:00

1)
En fait mon idée est de placer la fonction dans un lien, et je n'aime pas vraiment qu'il ne se passe rien quand je clique sur un lien.
Donc à défault j'indique les racourcis clavier que l'utilisateur ne connais pas forcement ; et j'ai pour habitude de croire que s'il y a assimilation des raccourcis claviers on les utilise plutot que les liens du type "ajouter ce site à vos favoris".
On peut supposer que c'est un rappel utile. Et par la suite le visiteur poura effectuer ce-dit raccourcis, plutôt que d'aller promener sa souris dans les menus.
(Si tu veux ajouter une boite de dialogue, si tu aimes les boites de dialogues, disant "Aller dans menu ...", c'est possible aussi ;) ).

2)
Une liste exhaustive non, bien entendu.
Mais une liste qui regroupe les navigateurs courants oui, et qui les reconnait ça me va.
Je prefere ça au "window.external.AddFavorite(siteURL,siteNOM)" exclusivité IE (il me semble bien) que l'on retrouve trops frequemment.
Le souhait est que si "window.external==TRUE" alors "window.external.AddFavorite(siteURL,siteNOM)" soit utilisable, mais on le voit avec Konqueror ce n'est pas le cas. Si c'était le cas ce serait l'idéal, ce n'est pas l'identification du navigateur qui est privilégiée mais de savoir si telle action est faisable ; d'où on perdrait le besoin de liste exaustive (du moins elle le deviendrait automatiquement).
Le nouveau navigateur sera alors dans la catégorie non reconnue.
Et tout ne sera pas toujours réinventé, certaines fonctions se retrouverons surement.
Mais il est simple de rajouter une ligne pour lui, et qui sais cette ligne servira pour d'autres navigateurs (voir la suite ...). Et le retouche de se code ne doit pas vraiment poser de problème ... du moins pour le moment.
J'avais testé le script sous Netscape 4.7 à 8, Opera 2 à 8, IE 3(inutile n'a pas de JS) à 6, les Mozillas (meme pheonix), et Konqueror. Et aucun problème à signaler. Je ferais surrement d'autres tests sur les moins utilisés, mais c'est une plage de navigateurs qui me convient, les principaux sont là.

3)
Ce n'est pas le navigateur qui doit en fait être detecté, mais les possibilités de son implementation javascript. Mozilla (firefox etc...) repond à "window.sidebar" et execute "window.sidebar.addPanel(siteNOM,siteURL,"")", c'est une erreure de ma part de ne pas l'avoir indiqué. Mais Netscape et Mozilla (firefox, etc ...) sont liés dans leur construction.
Pour CrazyBrowser je n'ai pas testé pour lui, je l'ai oublié. Mais il me semblait que c'est basé sur IE, j'irrais voir ça. C'est comme les sur-couches de IE, elles reponderont au premier test.

Enfin, si des choses vous semble inutiles, l'adaptation est toujours autorisée :D

Commentaire de darkman2 le 17/08/2005 09:42:19

meme remarque que Zart

Commentaire de Joss7fr le 17/08/2005 14:52:11

Hé hé :D, allé je rajoute une remarque de plus sur ce code.

Mon problème est que j'en ai assai de voire des window.external.addFovirite pour une majorité des liens du type "Ajouter à vos favoris", alors qu'il existe au moins un equivalent pour les autres navigateurs, entre autre pour la famille Mozilla.
Comme ce script est simple et court, il est donc parfaitement modifiable aux besoins. C'est pour ça que je me suis permis de rajouter les raccourcis claviers, qui personnellement m'intéressaient, sans que ceci brouille la compréhension du script ; à vous de les supprimer.
Si l'agencement du code ne vous convient pas, à vous de l'adapter, ça simplicité le permet.
Si on ne veux garder que les ajouts automatiques pour les navigateurs on peut toujours garder seulement ceux là :


if (window.external) {
/* Internet Explorer 4+, et ses dérivés (Crazy Browser, Avent Browser ...) */
window.external.AddFavorite(siteURL,siteNOM);
}
else if (window.sidebar) {
/*Netscape 6+ ; Mozilla, FireFox et compagnie (K-Meleon ...) */
window.sidebar.addPanel(siteNOM,siteURL,"");
}


Ou alors même :

if (window.external) {
/* Internet Explorer 4+, et ses dérivés (Crazy Browser, Avent Browser ...) */
print ("<a href:\"javascript:window.external.AddFavorite('siteURL','siteNOM');\"" >Ajouter &agrave; vos Favoris</a>");
}
else if (window.sidebar) {
/*Netscape 6+ ; Mozilla, FireFox et compagnie (K-Meleon ...) */
print ("<a href:\"javascript:window.sidebar.addPanel(siteNOM,siteURL,'');\"" >Ajouter &agrave; vos Favoris</a>");
window.sidebar.addPanel(siteNOM,siteURL,"");
}


Je ne propose pas un ajout UNIVERSEL, mais MULTI, où c'est vrai il faudrait plutôt dire BI-FAMILLE. Et je ne pense pas me tromper de trop en disant que le marcher des navigateurs est partagé entre la famille IE et celle de Mozilla principalement, donc le script concerne sûrement une bonne partie des utilisateurs. Et à ma connaissance l'ajout automatique n'est disponible que pour ceux-là.
Le test dans les fonctions permet de prendre en compte plus de butineurs concernés que le fameux indexOf ; il évite de rajouter du code pour reconnaitre un navigateur en ajoutant une partie de son identifiant dans les tests, ou alors de confondre un navigateur qui a changé cette chaine.
Donc pour la polyvalence c'est le mieux que je puisse proposer (ça n'exclus pas qui ne l'ai peut etre pas).

Et en completant ce script par du superflus, on peut voir quelles sont les fonctions pour reconnaitre certains navigateurs, surtout Opera pour ma part.

(Pour le troisement point je suppose que c'est annulé, j'ai testé et approuvé pour les navigateurs cités en commentaire ; j'avoue que les '...' suppose que c'est la même chose pour les autres)

Commentaire de freenat94 le 10/01/2006 02:44:53

Moi je dis BRAVO ! Si vous saviez le nombre de script incomplet, erroné que l'on trouve ca fait plaisirde voir un script simple et clair. meme si c'est pour une fonction courante comme celle ci. Ce script et un autre me permette de ne pas importuner l'utilisateur avec une boite de dialogue "voulez vous ajouter blablablabla...".

Alors merci...

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

version de IE pour ajouter aux favoris ?? [ par quitues ] a partir de quel version de IE peut on ajouter un site aux favoris <img src=/imgs2/smile_wink.gif border=0 align="absmiddl Nom du site à ajouter aux favoris !?!? [ par Bouvreuil ] Bonjour,Comment programmer un nom de site pour que celui-ci apparaisse quelque soit la page visit&#233;e lorsque le visiteur veut l'ajouter &#224; ses ajouter favoris avec un icone [ par astuces_jeux ] bonjour,je cherche un code capable d'ajouter aux favoris (jusque la c'est facile)mais avec son icone favicon. On peut m'aider ??? ajouter aux favoris + icone perso [ par Stephane ] salutvla j'ai ajouté un site (manuellement) a mes favoris, et je me suis apercu que celui-ci avait un icone personnalisé dans le menu.ma question est fichier css en fonction du navigateur [ par stephbb75 ] Salut Tous,Une question peut être bette !! Est ce que je peut inclure un fichier css en fonction du navigateur !!En claire, dans head si je met un scr navigateur réduit - touche F11 [ par icka ] Bonjour Est-ce que l'un d'entre vous connaît le code pour forcer le navigateur à une lecture pleine écran avec barre de navigation réduite.(équivalent Comment lancer un autre navigateur ? [ par akaky ] Hello à tous,Le site intranet que je suis en train de développer s'adresse à un public qui a Netscape ET IE installés sur les machines.Le site que je Ajouter un élément à une Drop-Down list [ par bob ] Je ne sais pas comment ajouter un élément à une drop-down list pendant que la page est en cour.Est-ce que quelqu'un pourrait m'aider.Merci Comment ajouter un élément à une drop-down list. [ par bob ] Je ne sais pas comment ajouter un élément à une drop-down list pendant que la page est en cours.Est-ce que quelqu'un pourrait m'aider S.V.P. ?Merci ajouter une ligne [ par naziha ] salut, ke je vous explique bien clairement ce ke je cherche à faire:j'ai un formulaire avec des champs texte ( 5, qui sont nommés sd1,pl1, n1, clt1 et


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,763 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales