跨浏览器书签/添加到收藏夹JavaScript

时间:2010-06-11 17:09:14

标签: javascript cross-browser bookmarks

是否有任何跨浏览器书签/使用JavaScript添加到收藏夹。

搜索了一些列表,但没有一个正在运行。你能建议一下吗?

4 个答案:

答案 0 :(得分:51)

jQuery版本

JavaScript(从我在某人网站上找到的脚本修改 - 我再也找不到该网站,所以我无法给予此人信用):

$(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,IE将显示错误(在file://...查看时,它不允许通过JavaScript使用JavaScript书签。

如果您需要更完整的脚本,您可以随时buy one from this page(不,我不隶属于该网站...... LOL)。

答案 1 :(得分:9)

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

我用过这个&amp;在IE,FF,Netscape中运行良好。 Chrome,Opera和Safari不支持它!

答案 2 :(得分:7)

我在想不。书签/收藏夹应该在用户的控制之下,想象一下,如果您访问的任何网站只能通过一些javascript将自己插入到您的书签中。

答案 3 :(得分:3)

如何使用ShareThisAddThis这样的插入式解决方案?它们具有类似的功能,因此它们很可能已经解决了这个问题。

AddThis的代码有一个巨大的if / else浏览器版本分叉用于保存收藏夹,但大多数分支都以提示用户自己手动添加收藏夹结束,因此我认为不存在这样的纯JavaScript实现。

否则,如果你只需要支持IE和Firefox,你就有IE window.externalAddFavorite( )和Mozilla的window.sidebar.addPanel( ).