11548 sujets

JavaScript, DOM et API Web HTML5

Salut à tous,

En partant de ce script en ligne, j'ai voulu implémenter la fonctionnalité d'ajout d'une page aux signets / favoris du navigateur depuis un lien (lui-même généré en JavaScript).

Code HTML généré par JavaScript
<p class="signet"><a href="#">Ajouter cette page aux signets</a></p>

JavaScript
$('.signet a').click (function (e)
{
  var sTitre = $('title').html ();
  var sUrl = window.location.href;
  
  if (window.sidebar) window.sidebar.addPanel (sTitre, sUrl, '');
  else if (window.opera)
  {
    $('.signet a').attr ('title', sTitre);
    $('.signet a').attr ('href', sUrl);
    $('.signet a').attr ('rel', 'sidebar');
  }    
  else
  {
    alert ('Utilisez la fonctionnalité d\'ajout de signet proposée par votre navigateur (raccourci clavier : Ctrl + D ou Cmd + D).');
    return false;
  }
  
  e.preventDefault ();
  return false;
});

JavaScript pour IE (appelé depuis un commentaire conditionnel, Google Chrome reconnaissant étrangement window.external)
$('.signet a').click (function (e)
{
  var sTitre = $('title').html ();
  var sUrl = window.location.href;
  
  window.external.AddFavorite (sUrl, sTitre);
  return false;
}

Sous Firefox et IE, pas de problème : j'ai bien la boîte de dialogue d'ajout de la page aux signets. En revanche, rien ne se produit sous Opera et Safari et Chrome reçoivent l'alerte.

Y aurait-il une parade pour qu'Opera, Safari et Chrome ajoutent bel et bien la page à leurs signets ? Smiley ohwell
Modifié par Victor BRITO (09 Aug 2010 - 13:38)
Salut,

En dehors de la solution technique qui serait intéressante à connaître (désolé, je ne la connais pas..), j'avais clairement invité un de mes élèves qui voulait utiliser un script de ce type (trouvé quelque part sur le net, le script ne marchait d'ailleurs pas sur les moteur de rendu webkit...) à laisser tomber cette idée.

A mon avis, c'est un peu comme reproduire les boutons précédent/suivant du navigateur : ça n'apporte rien de plus, on reproduit des fonctionnalités qui existent déjà, et pire : la publication d'un script fonctionnel sur tous les navigateurs pourrait inciter et aider des webmasters peu scrupuleux à mettre en place une evil' version qui enregistrerait en douce la page dans les signets... Smiley decu

Du coup, si c'est juste pour rappeler aux gens qu'ils peuvent utiliser les signets de leur navigateur pour enregistrer ta page, pourquoi ne pas le rappeler par un petit message :
"Et si vous kiffez ce site, n'oubliez pas de le rajouter dans les signets de votre navigateur favori !"
Là au moins, c'est parfaitement interopérable Smiley biggol Smiley langue
Modifié par audrasjb (09 Aug 2010 - 18:09)
audrasjb a écrit :
Du coup, si c'est juste pour rappeler aux gens qu'ils peuvent utiliser les signets de leur navigateur pour enregistrer ta page, pourquoi ne pas le rappeler par un petit message :
"Et si vous kiffez ce site, n'oubliez pas de le rajouter dans les signets de votre navigateur favori !"
Là au moins, c'est parfaitement interopérable Smiley biggol Smiley langue

Sauf que, pour le projet en question, ça ne le fera pas. Smiley cligne