添加书签这个页面按钮-2016



我已经多次看到这个问题:如何在这个页面按钮上添加书签。但目前似乎没有任何解决方案。

我现在尝试使用的代码:

$('.js-bookmarkme').click(function(e) {
    e.preventDefault();
    if (window.sidebar && window.sidebar.addPanel) { // Mozilla Firefox Bookmark
        window.sidebar.addPanel(document.title,window.location.href,'');
    } else if(window.external && ('AddFavorite' in 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;
    } else { // webkit - safari/chrome
        alert('Press ' + (navigator.userAgent.toLowerCase().indexOf('mac') != - 1 ? 'Command/Cmd' : 'CTRL') + ' + D to bookmark this page.');
    }
});

来源:如何在我的网站上添加"添加到收藏夹"按钮或链接?

如评论所述:

Firefox的propertywindow.sidear.addPanel(..)已被弃用,该功能在Firefox 23中被删除(请参阅第三个项目符号)
–Will Hawker

据推测,FF解决方案到目前为止已经不起作用了,但Opera解决方案也不起作用。(尽管我还没能测试IE解决方案)。

这就带来了一个显而易见的问题:如何才能实现Bookmarklet按钮?尽可能支持浏览器。

由于没有解决方案,经过一些研究,这是我能想到的最好的解决方案。

// Bookmark me
$('.js-bookmarkme').click(function(e) {
    e.preventDefault();
    var bookmarkURL = window.location.href;
    var bookmarkTitle = document.title;
    if ('addToHomescreen' in window && window.addToHomescreen.isCompatible) {
        // Mobile browsers
        addToHomescreen({ autostart: false, startDelay: 0 }).show(true);
    } else if (window.sidebar && window.sidebar.addPanel) {
        // Firefox version < 23
        window.sidebar.addPanel(bookmarkTitle, bookmarkURL, '');
    } else if ((window.sidebar && /Firefox/i.test(navigator.userAgent)) || (window.opera && window.print)) {
        // Firefox version >= 23 and Opera Hotlist
        $(this).attr({
            href: bookmarkURL,
            title: bookmarkTitle,
            rel: 'sidebar'
        }).off(e);
        return true;
    } else if (window.external && ('AddFavorite' in window.external)) {
        // IE Favorite
        window.external.AddFavorite(bookmarkURL, bookmarkTitle);
    } else {
        // Other browsers (mainly WebKit - Chrome/Safari)
        alert('Please press ' + (/Mac/i.test(navigator.userAgent) ? 'CMD' : 'Strg') + ' + D to add this page to your favorites.');
    }
    return false;
});

最新更新