Javascript Bookmark
19. Januar 2010 | In: Javascript
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; }</a> |
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> |

2 Kommentare zu Javascript Bookmark
greenspirit
06. April 2010 um 19:34:45
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.
naden
18. August 2010 um 10:49:51
Hast du genau richtig gemacht, dann noch die Datei mit einem Script-Tag einbinden und einen der Buttons aus dem Beispiel kopieren.