JavaScriptを使用して、ブラウザ間のブックマーク/お気に入りへの追加はありますか。
いくつかのリストを検索しましたが、どれも機能していません。何か提案してもらえますか?
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)。
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はサポートしていません!
私は考えていません。ブックマーク/お気に入りはユーザーの管理下にある必要があります。訪問したサイトがJavaScriptだけでブックマークに挿入できるかどうかを想像してください。
ShareThis や AddThis などのドロップインソリューションを使用してはどうですか?彼らは同様の機能を持っているので、彼らはすでに問題を解決した可能性が高いです。
AddThisのコードには、お気に入りを保存するための巨大なif/elseブラウザーバージョンフォークがありますが、ほとんどのブランチではユーザーにお気に入りを手動で追加するよう求めるプロンプトが表示されるため、このような純粋なJavaScript実装は存在しないと考えています。
それ以外の場合、IEとFirefoxのみをサポートする必要がある場合は、IEの window.externalAddFavorite() とMozillaの window.sidebar.addPanel()。 があります。