ブックマークとJavascript

問題に直面して、サイトに「ブックマークに追加」リンク(またはボタン)を作成すると、この問題を解決するためのいくつかのオプションが見つかりました。 そして、すべてが良いように見えますが、誰もが何かで私を喜ばせませんでした。







そして、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



All Articles