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