1

经过大量研究,我没有发现任何支持 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;
});
4

1 回答 1

2

不幸的是,Safari 不允许您通过 javascript(以及 IE6/IE8)和其他一些方法添加书签。这是一种打击垃圾邮件/不需要的网站的尝试,将书签添加到您的浏览器 onload。

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

$("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)

于 2012-07-28T20:20:30.220 回答