Code javascript "ajouter aux favoris" IE et FireFox

WRInaute discret
Salut

Je m'aperçois que du code javascript pour ajouter un site dans les favoris ne marche pas de la même façon si le navigateur est IE ou Mozilla.

J'ai 2 codes qui fonctionne séparément, ma question est de savoir si on ne peut pas les "jumeler" afin de n'avoir qu'un seul lien ?

PHP:
<span class="syntaxhtml"><span class="syntaxdefault">Code pour IE </span><span class="syntaxkeyword">:<br /><br /><</span><span class="syntaxdefault">a title</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"Mettre ce site dans vos Favoris"</span><span class="syntaxdefault"> href</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"javascript:window.external.addfavorite('', '')"</span><span class="syntaxkeyword">></span><span class="syntaxdefault">Mettre ce site dans vos favoris</span><span class="syntaxkeyword"></</span><span class="syntaxdefault">a</span><span class="syntaxkeyword">><</span><span class="syntaxdefault">br </span><span class="syntaxkeyword">/><br /><</span><span class="syntaxdefault">br </span><span class="syntaxkeyword">/><br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">*</span><span class="syntaxdefault"> </span><span class="syntaxkeyword"><</span><span class="syntaxdefault">script language</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"JavaScript"</span><span class="syntaxdefault"> type</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"Text/Javascript"</span><span class="syntaxkeyword">><br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">*</span><span class="syntaxdefault"> var urlAddress </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">*</span><span class="syntaxdefault"> var pageName </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">""</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">*</span><span class="syntaxdefault"> function addToFavorites</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">anchor</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">*</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">*</span><span class="syntaxdefault"> if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">window</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">external</span><span class="syntaxkeyword">)<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">*</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">*</span><span class="syntaxdefault"> window</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">external</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">AddFavorite</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">anchor</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">getAttribute</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'href'</span><span class="syntaxkeyword">),</span><span class="syntaxdefault"> anchor</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">getAttribute</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'title'</span><span class="syntaxkeyword">));<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">*</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">*</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">*<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">*</span><span class="syntaxdefault"> </script></span></span>

PHP:
<span class="syntaxdefault">Code&nbsp;pour&nbsp;Firefox&nbsp;</span><span class="syntaxkeyword">:<br /><br />&nbsp;&nbsp;<</span><span class="syntaxdefault">a&nbsp;href</span><span class="syntaxkeyword">=</span><span class="syntaxstring">""&nbsp;</span><span class="syntaxdefault">title</span><span class="syntaxkeyword">=</span><span class="syntaxstring">""&nbsp;</span><span class="syntaxdefault">rel</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"sidebar"&nbsp;</span><span class="syntaxdefault">onClick</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"addToFavorites(this);return(false);"</span><span class="syntaxkeyword">></span><span class="syntaxdefault">Ajouter&nbsp;à&nbsp;vos&nbsp;favoris</span><span class="syntaxkeyword"></</span><span class="syntaxdefault">a</span><span class="syntaxkeyword">>&nbsp;</span><span class="syntaxdefault"></span>

Si quelqu'un a une solution ou si il utilise un code général pour les deux navigateurs ?
 
WRInaute discret
Salut !

Voilà le code que tu cherches :)

Entre <head>et</head>

Code:
<script language="JavaScript">
function favoris() {
if ( navigator.appName != 'Microsoft Internet Explorer' )
{ window.sidebar.addPanel("le nom du site","http://www.tonsite.com",""); }
else { window.external.AddFavorite("http://www.tonsite.com","le nom du site"); } }
</script>

Et ensuite tu places un lien de cette forme :

Code:
<a href="javascript:void(favoris());">Ton Titre</a>

Voilà fonctionne sous IE et FF :)
 
WRInaute discret
Bien joué darmond.j !!!

:lol: :lol: :lol: :lol:

Je viens de l'essayer et ca marche !!

J'avais pourtant l'impression de l'avoir utilisé :? (-http://francois.jamart.free.fr/index.php?2005/06/06/11-ajouter-aux-favoris-pour-firefox-et-internet-explorer)

En tous cas merci à toi !
 
Nouveau WRInaute
Sur Firefox : panneau latéral ?

:roll: Bonjour, je suis nouvelle sur le forum que je trouve super. Je suis également débutante ds les blogs et site...

J'ai placé le code que darmond.j a donné.

J'ai dû mal faire quelque chose car sur Firefox : il s'enregistre bien ds les m-pages, mais il s'ouvre dans un panneau latéral ! ????

Par contre, sur IE, aucun soucis.

Voici le copier/coller de mon code :
<script language="JavaScript">
function favoris() {
if ( navigator.appName != 'Microsoft Internet Explorer' )
{ window.sidebar.addPanel("CESU : le blog des salariés et employeurs","http://www.leblogdescesu.blogspot.com",""); } else { window.external.AddFavorite("http://www.leblogdescesu.blogspot.com","CESU : le blog des salariés et employeurs"); } }
</script>
<a href="javascript:void(favoris());">Ajouter à vos favoris</a>

Mon blog : http://leblogdescesu.blogspot.com/

Merci beaucoup, pour votre aide. Bonne journée :lol:
 
WRInaute accro
ouaich_01 a dit:
Bien joué darmond.j !!!

:lol: :lol: :lol: :lol:

Je viens de l'essayer et ca marche !!

J'avais pourtant l'impression de l'avoir utilisé :? (-http://francois.jamart.free.fr/index.php?2005/06/06/11-ajouter-aux-favoris-pour-firefox-et-internet-explorer)

En tous cas merci à toi !

Ouaip, j'en cherche un aussi mais le code JS en plein milieu de la page ca me plait pas trop... On arrive pas à glisser la fonction dans une feuille .js ???
 
WRInaute discret
bah si tu crées un fichier fav.js dans lequel tu mets le code
function favoris() {
if ( navigator.appName != 'Microsoft Internet Explorer' )
{ window.sidebar.addPanel("le nom du site","http://www.tonsite.com",""); }
else { window.external.AddFavorite("http://www.tonsite.com","le nom du site"); } }

et tu l'appelles dans le head :
<script type="text/javascript" src="js/fav.js"></script>


t'as question est tellement simple que j'ai peur de pas comprendre (donc désolé si je suis à coté de la plaque) :p
 
Nouveau WRInaute
vous avez ignoré un message...???

8) Bon j'me présente : cynoque, et je suis tombé sur ces forums en cherchant un code javascript par google :D , et du coup j'ai voulu mettre mon grain de sel à cette discution (fut elle vieille.... :roll: ) car j'utilise aussi ce code :wink: .

:?: Pourtant, mon firefox enregistre mon adresse dans le panneau latéral gauche de firefox :x , je dois cliquer ensuite sur un lien pour qu'il m'envoie le site vers les pages normales, à droite....... 8O à tester et n'y connaissant pas grand chose en java :? :oops: , dites moi svp ce qui doit être changé dans ce code pour convenir a firefox+explorer. Car il convient à Explorer sans problème !! :) Mais pour firefox, pas à 100%, mais si on peut dire, à 50% ... :?

Merci d'avance. :p
 
WRInaute accro
Re:

SuN a dit:
t'as question est tellement simple que j'ai peur de pas comprendre (donc désolé si je suis à coté de la plaque) :p

Oui, on peut mettre la fonction dans un fichier externe mais pas en dynamique, c'est ca le probleme.

Pour ce qui veulent du dynamique, faudra ce contenter de laisser le JS dans le document, voici le code pour ceux que ca interrresse, la premiere partie est donc a ajouter dans le <head>

On considere que vous avez les titres des pages en dynamique :
Code:
<title><?php echo $titre_page;?></title>

voila le JS dynamique:
Code:
<script type="text/javascript">
function favoris() {
if ( navigator.appName != 'Microsoft Internet Explorer' )
{ window.sidebar.addPanel("<?php echo $titre_page;?>","<?php echo 'http://'.$_SERVER['HTTP_HOST'].''.$_SERVER['REQUEST_URI'];?>",""); }
else { window.external.AddFavorite("<?php echo 'http://'.$_SERVER['HTTP_HOST'].''.$_SERVER['REQUEST_URI'];?>","<?php echo $titre_page;?>"); } }
</script>

et le lien a mettre dans le <body>
Code:
<a href="javascript:void(favoris());">favoris</a>
 
WRInaute accro
Re: Code javascript "ajouter aux favoris" IE et FireFo

Pourquoi pas en dynamique ? Qu'est-ce tu veux dire par la ?
 
WRInaute accro
Re: Code javascript "ajouter aux favoris" IE et FireFo

pour conclure et repondre a yoyos

le resultat sera que le visiteur lorsqu'il va cliquer sur favoris aura l'url de la page + le titre de la page en cours, c'est quand meme bien plus efficace en dynamique !!

Je l'ai tester avec succés sur IE6+IE7+FireFox
 
WRInaute accro
Re: Code javascript "ajouter aux favoris" IE et FireFo

Tu peux récupérer la page en cours et le titre en javascript aussi hein :D

Et si tu veux faire le tout only php, tu peux très bien passer des paramètres à ta fonction favoris() non ? :)
 
WRInaute accro
Re: Code javascript "ajouter aux favoris" IE et FireFo

ah ok, met nous le code full JS et le full php ca sera toujours utile
 
WRInaute accro
Re: Code javascript "ajouter aux favoris" IE et FireFo

full php c'est pas possible puisqu'il y a interaction avec le navigateur. Mais je veux dire sans devoir foutre le code en php. Tu peux avoir une feuille externe .js avec dedans par exemple

function favoris(url,titre) {
if ( navigator.appName != 'Microsoft Internet Explorer' )
{ window.sidebar.addPanel(url,titre,''); }
else { window.external.AddFavorite(url,titre); } }

Et dans en php, tu écris l'appel en gros comme ceci:

echo '<a href="javascript:void(favoris(\''.$url.'\',\'.$titre.\'));">favoris</a>';

Je connais pas les fonctions par coeur pour récupérer le titre et l'url mais je préfère pas les utiliser. Il se pourraient que certaines soient différentes selon le navigateur. Le mieux est de passer en php tes paramètres à une fonction javascript :)
 
WRInaute accro
Re: Code javascript "ajouter aux favoris" IE et FireFo

marche po :(
doit manquer une ligne car la fonction ne se lance pas
 
WRInaute accro
Re: Code javascript "ajouter aux favoris" IE et FireFo

Faut pas copier coller hein. Quand t'as compris tu modifies ton code intelligemment après. Il y a un souci de guillemets avec mon code je viens de voir dans l'appel de la fonction.
 
WRInaute accro
Re: Code javascript "ajouter aux favoris" IE et FireFo

j'avais vu que ton parsing n'etait un complet mais le probleme n'est pas la.

ca ne fonctionne tout simplement pas, comme si il ne recuperais pas la valeur des variables; tu as tester ?
 
Nouveau WRInaute
Bonjour,
juste pour vous signaler qu'il y a plusieurs plugins ou extensions à jQuery qui proposent cette fonctionnalité cross-browser.
Exemple avec jFav :
http://www.dummwiam.com/jFav
compatible :
  • Internet Explorer 6+
    Mozilla Firefox 2+
    Opera 9+
avec un message pour Safari et Chrome.

Les exemples http://www.dummwiam.com/resources/jFav1.0/jFavExamples.html sont clairs ex :
Code:
<a id="buttonOne">Click here to Add this Page to Favourites</a>
le javascript qui le commande est
Code:
$('#buttonOne').jFav();

Ou
Code:
<a class="buttonsTwo" href="http://www.drupal.org/" title="Drupal RULEZ">Add Drupal to favourites!</a>
<a class="buttonsTwo" href="#" title="My Page Name Here">Bookmark Current Page, with custom title</a>
et
Code:
$('.buttonsTwo').jFav();

Bref, une bonne solution je trouve. En espérant que ça puisse aider :wink:
 
WRInaute accro
Re: Code javascript "ajouter aux favoris" IE et FireFo

juste une question : à quoi sert ce type de code ?
pour moi, ça met fait penser aux sites web 0.1 avec des gifs animés partout sur la page.
Pour gérer les favoris, soit on s'y connaît dans l'utilisation des navigateurs et on sait le faire, soit avec un glisser déplacer, soit un click droit, ça marche sur IE, FF, Safari
soit on ne s'y connaît pas pas en gestion des favoris et on va cliquer sur le lien, il sera dans les favoris mais on ne l'utilisera pas :roll:
 
WRInaute accro
Re: Code javascript "ajouter aux favoris" IE et FireFo

A mon avis, ça sert surtout à faire y penser, c'est tout.
 
Discussions similaires
Haut