it-swarm.dev

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

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

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

67
Aakash Chakravarthy

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

如果您需要更完整的脚本,您可以随时 从此页面购买 (不,我不隶属于该网站... LOL)。

50
Gert Grenander
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);
 }
}

我用过它,在IE,FF,Netscape中运行得很好。 Chrome,Opera和Safari不支持它!

9
Prashant Patil

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

7
bwarner

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

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

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

3
ajm