79

JavaScript を使用して、クロスブラウザーのブックマーク/お気に入りへの追加はありますか。

いくつかのリストを検索しましたが、どれも機能していません。何か提案していただけますか?

4

3 に答える 3

55

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://....

于 2010-06-11T17:26:24.967 に答える
11
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 はサポートしていません。

于 2011-08-06T09:25:04.707 に答える
3

ShareThisAddThisのようなドロップイン ソリューションを使用するのはどうですか? それらは同様の機能を備えているため、すでに問題を解決している可能性は十分にあります。

AddThis のコードには、お気に入りを保存するための if/else ブラウザー バージョンの巨大なフォークがありますが、ほとんどの分岐は、ユーザーが自分でお気に入りを手動で追加するように促すことで終了するため、そのような純粋な JavaScript 実装は存在しないと考えています。

そうではなく、IE と Firefox のみをサポートする必要がある場合は、IE のwindow.externalAddFavorite( )と Mozilla のwindow.sidebar.addPanel( ) があります。

于 2010-06-11T19:51:02.053 に答える