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?
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).
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!)
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.
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 ().