Um per Javascript die aktuelle Webseite als Favorit im Browser zu speichern, gibt es die abenteuerlichsten Lösungen. Noch heute liest man auf vielen Seiten, bei Firefox bitte Strg+D drücken!
Meine Lösung, die schon seit Jahren so wunderbar funktioniert sieht wie folgt aus:
function bookmark(url, title) { // ist keine Url angegeben, wird der aktuelle Hostname genutzt var url = url || location.protocol + '//' + location.host; // um die aktuelle Url zu bookmarken, die vorherige Zeile // auskommentieren und die nächste einkommentieren. // var url = url || location.href; // kein Titel angeg. wird der aktuelle Hostname benutzt var title = title || location.host; // um den Titel aktuelle Url zu bookmarken, die vorherige Zeile // auskommentieren und die nächste einkommentieren. // var title = document.title; // Internet Explorer if(document.all) { window.external.AddFavorite(url, title); } // Firefox else if(window.sidebar) { window.sidebar.addPanel(title, url, ''); } // false zurückliefern, fall die Funktion // über das "onlick"-Event des <a />-Tags // aufgerufen wurde return false; } |
Der Aufruf sieht z.B. so aus:
<a href="" onclick="javascript:return bookmark();">Bookmark</a> |
oder
<a href="" onclick="javascript:return bookmark('Naden\'s Webseite', 'http://www.naden.de');">Bookmark</a> |
Wie lagert man diesen Javascript Code extern aus? Also ich möchte auf meiner Webpage das einbauen, aber ich möchte nicht auf jeder Seite den Code kopieren, sondern nur das allernötigste. z.B.
aber wie gebe ich da an, wenn der javascript code extern ausgelagert ist, irgendwie muss ich das ja im href mitteilen, oder? z.B.
Bookmark
die externe datei lautet auf “bookmarkctrl.js” und da hab ich einfach den obenstehenden code eingefügt… ich weis nichts wies geht.
Hast du genau richtig gemacht, dann noch die Datei mit einem Script-Tag einbinden und einen der Buttons aus dem Beispiel kopieren.
Heyho,
wollte nur melden das sich dort ein “”-Tag in den Javascript-Code eingeschlichen hat.
( ganz am Ende )
Außerdem funktioniert der Code im Firefox 5.0 nicht ( mehr ).
Wie es in älteren Firefox-Versionen aussieht weiß ich nicht da ich diese nichtmehr installiert habe.
Wäre cool wenn es dafür einen Workaround gibt damit es auch dort funktioniert.
MfG
Danke, habs entfernt. Im Firefox 5 habe ich das noch nicht ausprobiert. Was für eine Fehlermeldung gibt er den aus?
Bei mir ist der schließende Link-Tag immer noch vorhanden oben im Javascript-Code.
Siehe hier :
http://minus.com/mbELvo2
Ein weiterer Fehler hat sich im 3. Code-Feld eingeschlichen.
Im Namen des Lesezeichens sind 3 Anführungsstriche, wobei einer zu viel ist.
Die Fehlermeldung ist folgende, nachdem man den Fehler mit den Anführungsstrichen beseitigt hat :
Fehler: Invalid argument passed to window.sidebar.addPanel: Unsupported panel URL.
Quelldatei: resource://gre/components/nsSidebar.js
Zeile: 36
MFG
Der Fehler mit dem </a>-Tag kam dadurch zustande, weil ich im Quelltext-Kommentar einen geöffnet hatte, den WordPress oder der Syntax-Highlighter schliessen wollte. Ok nun.
Der von dir beschriebene Fehler ist nicht Firefox 5 spezifisch, sondern wird dann ausgelöst, wenn die zu bookmarkende Url mit einem ungültigen Protokoll beginnt. Gültig sind http:// https:// … Ungültig ist z.B. file:// Ich vermute, dass du das Demo Script oder deine Variante lokal getestet hast. Wenn du dann keine eigene Url übergibst, nutz das Script den Hostnamen und das Protokoll aus der aktuellen Url. Was den Fehler auslöst. Wird das Script über eine Domain benutzt, tritt der Fehler nicht auf.