web-dev-qa-db-fra.com

Favoris de plusieurs navigateurs / ajouter aux favoris JavaScript

Existe-t-il un signet/ajout multi-navigateurs dans les favoris en utilisant JavaScript?.

Vous avez cherché une liste, mais aucune ne fonctionne. Pouvez-vous s'il vous plaît suggérer?

68

Version jQuery

JavaScript (modifié à partir d'un script que j'ai trouvé sur le site de quelqu'un; je ne trouve plus le site, je ne peux donc pas le créditer):

$(document).ready(function() {
  $("#bookmarkme").click(function() {
    if (window.sidebar) { // Mozilla Firefox Bookmark
      window.sidebar.addPanel(location.href,document.title,"");
    } else if(window.external) { // IE Favorite
      window.external.AddFavorite(location.href,document.title); }
    else if(window.opera && window.print) { // Opera Hotlist
      this.title=document.title;
      return true;
    }
  });
});

HTML:

<a id="bookmarkme" href="#" rel="sidebar" title="bookmark this page">Bookmark This Page</a>

IE affichera une erreur si vous ne l'exécutez pas sur un serveur (il n'autorise pas les signets JavaScript via JavaScript lors de son affichage en tant que file://....

Si vous avez besoin d'un script plus complet, vous pouvez toujours achetez-en un sur cette page (Non, je ne suis pas affilié à ce site ... LOL).

51
Gert Grenander
function bookmark(title, url)
{
 if (window.sidebar)
 {// Firefox
  window.sidebar.addPanel(title, url, '');
 }
 else if (window.opera && window.print)
 {// Opera
  var elem = document.createElement('a');
  elem.setAttribute('href',url);
  elem.setAttribute('title',title);
  elem.setAttribute('rel','sidebar');
  elem.click();//this.title=document.title;
 }
 else if (document.all)
 {// ie
  window.external.AddFavorite(url, title);
 }
}

J'ai utilisé cela et fonctionne très bien dans IE, FF, Netscape. Chrome, Opera et safari ne le supportent pas!)

9
Prashant Patil

Je pense non. Les signets/favoris doivent être sous le contrôle de l'utilisateur. Imaginez si l'un des sites visités pouvait s'inscrire dans vos signets à l'aide de javascript.

7
bwarner

Pourquoi ne pas utiliser une solution d’arrivée telle que ShareThis ou AddThis ? Ils ont des fonctionnalités similaires, il est donc fort possible qu'ils aient déjà résolu le problème.

Le code de AddThis a une énorme fourchette de version de navigateur if/else pour la sauvegarde des favoris, la plupart des branches finissant par inviter l’utilisateur à ajouter manuellement le favori lui-même, je pense donc qu’aucune implémentation JavaScript pure n’existe.

Sinon, si vous avez seulement besoin de supporter IE et Firefox, vous avez les IE window.externalAddFavorite () et les Mozilla window.sidebar.addPanel ().

3
ajm