web-dev-qa-db-ja.com

クロスブラウザブックマーク/お気に入りへの追加JavaScript

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

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

68

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ブックマークを許可しません)。

より完全なスクリプトが必要な場合は、いつでも このページから1つを購入 (いいえ、私はそのサイトと提携していません... LOL)。

51
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