2016-05-04 27 views
4

Ich habe diese Frage schon mehrmals gesehen: Wie man ein Lesezeichen dieser Seite hinzufügt. Aber es scheint derzeit keine Lösung zu funktionieren.Lesezeichen hinzufügen diese Seite button - 2016

Der Code im zur Zeit versucht, zu verwenden:

$('.js-bookmarkme').click(function(e) { 
    e.preventDefault(); 

    if (window.sidebar && window.sidebar.addPanel) { // Mozilla Firefox Bookmark 
     window.sidebar.addPanel(document.title,window.location.href,''); 
    } else if(window.external && ('AddFavorite' in 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; 
    } else { // webkit - safari/chrome 
     alert('Press ' + (navigator.userAgent.toLowerCase().indexOf('mac') != - 1 ? 'Command/Cmd' : 'CTRL') + ' + D to bookmark this page.'); 
    } 
}); 

Quelle: How do I add an “Add to Favorites” button or link on my website?

Wie in den Kommentaren angegeben:

Firefox Anstand window.sidebar.addPanel (..) wurde veraltet und the function was removed in Firefox 23 (siehe drittes Aufzählungszeichen)
- Will Hawker

Angeblich funktioniert die FF-Lösung nicht mehr, aber die Opera-Lösung funktioniert auch nicht. (Obwohl ich die IE-Lösung noch nicht testen konnte).

Das bringt die offensichtliche Frage: Wie können Sie eine Bookmarklet-Taste erreichen? Mit Browser-Unterstützung so weit wie möglich.

+0

Die Funktion window.sidebar.addPanel entspricht nicht dem Standard und befindet sich nicht auf einer Standardspur. Verwenden Sie es nicht auf Websites, die mit dem Internet verbunden sind: Es funktioniert nicht für jeden Benutzer. Es kann auch zu großen Inkompatibilitäten zwischen den Implementierungen kommen und das Verhalten kann sich in Zukunft ändern. – M98

+0

Wie bereits erwähnt, ist es bereits seit dem 23. Lebensjahr veraltet. – AlexG

Antwort

7

Da es keine Lösung gab, ist dies das Beste, was ich nach einigen Nachforschungen herausfinden konnte.

// Bookmark me 
$('.js-bookmarkme').click(function(e) { 
    e.preventDefault(); 
    var bookmarkURL = window.location.href; 
    var bookmarkTitle = document.title; 

    if ('addToHomescreen' in window && window.addToHomescreen.isCompatible) { 
     // Mobile browsers 
     addToHomescreen({ autostart: false, startDelay: 0 }).show(true); 
    } else if (window.sidebar && window.sidebar.addPanel) { 
     // Firefox version < 23 
     window.sidebar.addPanel(bookmarkTitle, bookmarkURL, ''); 
    } else if ((window.sidebar && /Firefox/i.test(navigator.userAgent)) || (window.opera && window.print)) { 
     // Firefox version >= 23 and Opera Hotlist 
     $(this).attr({ 
      href: bookmarkURL, 
      title: bookmarkTitle, 
      rel: 'sidebar' 
     }).off(e); 
     return true; 
    } else if (window.external && ('AddFavorite' in window.external)) { 
     // IE Favorite 
     window.external.AddFavorite(bookmarkURL, bookmarkTitle); 
    } else { 
     // Other browsers (mainly WebKit - Chrome/Safari) 
     alert('Please press ' + (/Mac/i.test(navigator.userAgent) ? 'CMD' : 'Strg') + ' + D to add this page to your favorites.'); 
    } 

    return false; 
}); 
+1

Dies funktioniert nicht in mobilen Browsern. Können Sie mir bitte vorschlagen, was ich tun sollte, um diese Funktion in mobilen Browsern zu aktivieren? Ich habe mit Mozilla auf Android-Gerät getestet. –

+0

Sie können wahrscheinlich auch nach mobilen Browsern suchen, ich habe einfach die Schaltfläche in Mobile Browsers ausgeblendet. – AlexG

+1

Diese Antwort scheint veraltet zu sein, jede Aktualisierung wäre willkommen. – sinsedrix