添加到收藏夹/书签栏在Safari(CMD + D)

时间:2012-07-28 20:09:53

标签: javascript jquery safari bookmarklet bookmarks

从大量研究中,我发现没有任何东西支持Safari甚至支持此功能的想法。从Safari的API数量来看,我无法相信他们不会允许嵌入他们的浏览器。

如果有人对如何在不使用实际无效的可怕插件的情况下实现这一点有任何想法,我们将不胜感激。

到目前为止,我已经使用它来处理主浏览器:

$("#bookmark").click(function() {
  var url = this.href;
  var title = this.title;
  if($.browser.mozilla) {
    window.sidebar.addPanel(title, url,"");
  } else if($.browser.msie || $.browser.webkit) { 
    window.external.AddFavorite(url, title); 
    if($.browser.safari) {
      alert("Balls");
    }
  } else if($.browser.opera ) {
    $(this).attr("href", url);
    $(this).attr("title", title);
    $(this).attr("rel", "sidebar");
    $(this).click();
  } else {
    //alert("Please press CTRL+D and click the link to bookmark it in your browser.");
  }
  return false;
});

1 个答案:

答案 0 :(得分:2)

不幸的是,Safari不允许您通过javascript(以及IE6 / IE8)和可能的其他几个添加书签。这是尝试抵制垃圾邮件/不需要的网站,为您的浏览器添加书签。

尝试这样的脚本,这几乎就是你所能做的......

$("a.bookmark").click(function(e) {
            if ($.browser.opera == false) {
                    e.preventDefault();
                    var url = this.href;  
                    var title = this.title;

                    if ($.browser.mozilla == true) {
                            window.sidebar.addPanel(title, url, '');
                            return false;
                    } else if($.browser.msie == true) {  
                            window.external.AddFavorite( url, title);
                            return false;
                    } else {
                            alert('Please use CTRL + D to bookmark this website.');
                    }


    }
});

来自Apple论坛的信息(https://discussions.apple.com/thread/1364657?start=0&tstart=0)