Quantcast
Channel: Add to browser favorites/bookmarks from JavaScript but for all browsers (mine doesn't work in Chrome)? - Stack Overflow
Viewing all articles
Browse latest Browse all 7

Answer by RET for Add to browser favorites/bookmarks from JavaScript but for all browsers (mine doesn't work in Chrome)?

$
0
0

After discovering - like Edison! - a bunch of ways this doesn't work, I eventually came across this page that says adding bookmarks via JS is explicitly disabled in Chrome. Unfortunately it does not explain why.

Update: I was asked to expand this answer by another SO user...

My links and buttons for this function all have a class="addbookmark" associated with them. When the user agent is Chrome, I use some jQuery to disable the links and explain why:

<script type="text/javascript" src="/scripts/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="/scripts/bookmark.js"></script> <script>     title='A Label for this Bookmark, ie title of this page'; // for example, not really generated this way...     $jQuery(document).ready(function(){         // chrome does not permit addToFavorites() function by design         if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) {             $('.addbookmark').attr({                 title: 'This function is not available in Google Chrome. Click the star symbol at the end of the address-bar or hit Ctrl-D to create a bookmark.',                 href: 'javascript:return false'            })             .css({opacity: .25});       // dim the button/link         }     }); </script> 

And then elsewhere on the page:

<td rowspan="2" class="noprint" style="width:24px;"> <a class="addbookmark" title="Save a Bookmark for this page"        href="javascript:addToFavorites(location.href,title)"> <img style="width:24px; height:24px; padding-top:2px;" src="/images/bookmark.gif"></a> </td> 

... which is by no means perfect, but it seems one's options are fairly limited.

The version of jQuery isn't important, and it's up to you whether you want a local copy or hot-link to the google version. bookmark.js is pretty much exactly as per the OP's code:

$ cat /scripts/bookmark.js /* simple cross-browser script for adding a bookmark     source: http://stackoverflow.com/questions/992844/add-to-browser-favourites-bookmarks-from-javascript-but-for-all-browsers-mine-do */ function addToFavorites(url, name) {     if (window.sidebar) { // Mozilla Firefox         window.sidebar.addPanel(name, url, "");     } else if (window.external) { // IE         window.external.AddFavorite(url, name);     } else if (window.opera && window.print) {         window.external.AddFavorite(url, name);     } else {         alert("Sorry! Your browser doesn't appear to support this function.");     } } 

Hope that's useful.


Viewing all articles
Browse latest Browse all 7

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>