ブックマークと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

Source: https://habr.com/ru/post/J74288/


All Articles