2010-06-11 392 views
59

Gibt es ein browserübergreifendes Lesezeichen/Hinzufügen zu den Favoriten mithilfe von JavaScript?Browserübergreifendes Lesezeichen/zu den Favoriten hinzufügen JavaScript

Gesucht nach einer Liste, aber keine funktioniert. Können Sie mir bitte etwas vorschlagen?

+11

Um ehrlich zu sein: Wenn ein Benutzer eine Schaltfläche benötigt, um die Seite mit einem Lesezeichen zu versehen, besteht die Gefahr, dass er/sie nicht weiß, wie Lesezeichen funktionieren. Benutzer, die normalerweise Lesezeichen verwenden, wissen, dass Sie STRG + D drücken können, ziehen Sie das kleine Website-Symbol auf der Lesezeichenleiste, verwenden Sie das Menü usw. etc .. Ich finde, dass ein "Lesezeichen uns!" Taste scheint ein bisschen * retro *, sozusagen. Erstellen Sie einfach eine gute Website mit Inhalten, die den Benutzer dazu bringt, ein Lesezeichen zu setzen, und Sie brauchen keine Schaltfläche. (Nur meine 2 ¢ in dieser Art von Situationen, dann sind Sie es, die entscheiden müssen, welche Tasten Sie auf Ihrer Website setzen sollen!) – nico

+3

Ich gebe keinen Knopf auf meiner Website! Ich erstelle ein Wordpress-Plugin. Benutzer, die es installieren, erhalten eine Schaltfläche, um die aktuelle Seite wie das Plugin "sociable" mit einem Lesezeichen zu versehen. –

Antwort

46

jQuery Version

JavaScript (aus einem Skript geändert ich auf jemandes Seite gefunden - ich kann einfach nicht die Seite wieder finden, so kann ich nicht der Person Kredit geben):

$(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 wird ein Fehler angezeigt, wenn Sie es keinen Server (es nicht zulässt, dass JavaScript Lesezeichen über JavaScript ablaufen, wenn viewi ng es als file://....

Wenn Sie ein vollständigeres Skript benötigen, können Sie immer buy one from this page (Nein, ich bin nicht mit dieser Site verbunden ... LOL).

+2

Ich würde dies nicht als 'funktionierend' betrachten - siehe http: // stackoverflow.com/questions/992844/add-to-browser-favoriten-bookmarks-from-javascript-aber-für-alle-browsers-mine-do/993206 # 993206 für Details – Christoph

+0

eigentlich hat sich die FF-Situation seit meiner Antwort etwas verbessert der Benutzeroberfläche ändert sich, dh der Benutzer kann jetzt die Option entfernen, um den Link in der Seitenleiste zu öffnen, wenn das Lesezeichen – Christoph

+0

hinzugefügt wird, tut mir leid, nicht für mich arbeiten. Ich bekomme "Fehler auf der Seite" in IE –

8

Ich denke nein. Lesezeichen/Favoriten sollten unter der Kontrolle des Benutzers stehen, stellen Sie sich vor, wenn eine von Ihnen besuchte Seite sich mit nur etwas Javascript in Ihre Lesezeichen einfügen könnte.

+5

Ich frage nicht nach automatischem Lesezeichen. Wenn Sie auf eine Schaltfläche klicken, sollte die aktuelle Seite mit einem Lesezeichen versehen werden. Ich habe viele Skripts gesehen, aber keine war Cross-Browser-Unterstützung –

+1

OK, also Sie fragen nach etwas, das den Benutzer fragt, ob sie Ihre Website zu Lesezeichen hinzufügen möchten. Das ist ein bisschen anders ... – bwarner

+0

Cmon, das OP fragt eindeutig nicht nach automatischen Lesezeichen. – Phil

3

Wie wäre es mit einer Drop-In-Lösung wie ShareThis oder AddThis? Sie haben eine ähnliche Funktionalität, also ist es gut möglich, dass sie das Problem bereits gelöst haben.

Der Code von AddThis hat eine riesige if/else-Version der Browser-Version zum Speichern von Favoriten, wobei die meisten Verzweigungen dazu führen, dass der Benutzer den Favoriten manuell hinzufügt, also denke ich, dass es keine solche reine JavaScript-Implementierung gibt.

Andernfalls, wenn Sie nur unterstützen IE und Firefox benötigen, müssen Sie IE window.externalAddFavorite() und Mozillas window.sidebar.addPanel().

8
function bookmark(title, url) { 
    if(document.all) { // ie 
     window.external.AddFavorite(url, title); 
    } 
    else 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; 
    } 
} 

ich verwendet, um dieses & funktioniert gut in IE, FF, Netscape. Chrome, Opera und Safari unterstützen es nicht!