そして、2つのオプションが選択されました
最初に
function AddToFavorites(title, url) {
if (window.sidebar) { // Mozilla Firefox Bookmark
window.sidebar.addPanel(title, url,"");
return false;
}
else if( window.external ) { // IE Favorite
window.external.AddFavorite( url, title);
return false;
}
else if(window.opera && window.print) { // Opera Hotlist
var elem = document.createElement('a');
elem.setAttribute('href',url);
elem.setAttribute('title',title);
elem.setAttribute('rel','sidebar');
elem.click();
return false;
}
}
そして二番目
jQuery用のjFav1.0プラグイン。
1つの小さなリンクのために、jQueryライブラリにプラグインをロードしたくありませんでした。
そして、最初のコードはOperaで解決したくありませんでした。
私は脳をオンにしなければなりませんでした:
IEには
window.external.AddFavorite( url, title);
-ここではすべてが簡単です
FF
window.sidebar.addPanel(title, url,"");
-また簡単
OperaでjFav1.0プラグインを使用して追加されました
このプラグインのコードを掘り下げて、私は(jFav1.0の作成者のおかげで)Operaのスクリプトは必要ないことに気づきました。単純なリンクだけで
add this page to bookmark
add this page to bookmark
属性rel = "sidebar"を使用します。
Microformatsは、それがあなたの役に立つことだと思いました。
FFのお気に入り、私もがっかりしませんでした。そのようなリンクをクリックすることで、「ブックマークに追加」ウィンドウが開きます。
SafariとChromeは制限内ではなく、リンクで指定されたページを静かに横切りました。
私は彼らのための良い解決策を見つけられませんでした、私は平凡な
alert('Pls, press Ctrl + D or CMD + D for MAC, \n to add this page to your bookmarks.');
停止しなければなりませんでした
alert('Pls, press Ctrl + D or CMD + D for MAC, \n to add this page to your bookmarks.');
結果はこのコードです:
// JS
function bookmark(a){
if (window.sidebar){ // firefox
return false;
}
else if(window.opera && window.print){ // opera
return false;
}
else if(document.all){ // ie
window.external.AddFavorite(a.href2 || a.href, a.title);
if(!a.href2){
a.href2 = a.href;
a.href="#";
}
} else {
alert('Pls, press Ctrl + D or CMD + D for MAC, \n to add this page to your bookmarks.');
a.href=+"#";
return false;
}
}
//HTML
<a href="http://yoursite/" rel="sidebar" onclick="bookmark(this)" title="My JS Bookmarks" > add this page to bookmark </a>
実施例
SafariとChromeの問題は未解決のままです。
誰かが彼らのためにエレガントな解決策を持つことができますか?
コードはWindows PX-FF3.5.4、Opera 10.01でテストされました。 IE6-8、Safary 3.2.1、Chrome 3.0.195.27