我有以下书签Javascript。
function bookmark(title, url) {
if(document.all) { // ie
window.external.AddFavorite(url, title);
}
else 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;
}
}
和网页
<a href="javascript:bookmark('title of the page', 'http://www.domain.com');" class="bookmark" >
问题是它只能在Internet Explorer中工作。在火狐,歌剧,铬中不起作用。我也听说火狐已经弃用了函数window.sidebar.addPanel,有什么办法可以解决所有这些问题吗?请不要开玩笑。
以下是如何使用
如何在我的网站上添加"添加到收藏夹"按钮或链接中的答案? 没有 jQuery 事件绑定。
function bookmark(title, href) {
if (window.sidebar && window.sidebar.addPanel) { // Mozilla Firefox Bookmark
window.sidebar.addPanel(title,href,'');
} else if(window.external && ('AddFavorite' in window.external)) { // IE Favorite
window.external.AddFavorite(href,title);
} else if(window.opera && window.print) { // Opera Hotlist
this.title=title;
return true;
} else { // webkit - safari/chrome
alert('Press ' + (navigator.userAgent.toLowerCase().indexOf('mac') != - 1 ? 'Command/Cmd' : 'CTRL') + ' + D to bookmark this page.');
}
}
上述解决方案存在一些问题。
window.sidebar.addPanel("", "","");
上面的代码可能不适用于所有Mozilla Firefox版本。所以我编写了如下的博彩代码。它将在所有浏览器中正常工作,除了webkit - safari/chrome。
添加"a"标签,如下所示
<a id="BookmarkMe" href="">Bookmark</a>
并在下面使用 Jquery
$(function () {
$('#BookmarkMe').click(function (e) {
var bTitle = document.title, bUrl = window.location.href;
if ($.browser.mozilla || $.browser.opera) { // Mozilla Firefox or Opera
if (window.sidebar.addPanel) {
e.preventDefault();
window.sidebar.addPanel(bTitle, bUrl, "");
}
else {
$('#BookmarkMe').attr("href", bUrl);
$('#BookmarkMe').attr("title", bTitle);
$('#BookmarkMe').attr("rel", "sidebar");
}
} else if ($.browser.msie) { // IE Favorite
e.preventDefault();
window.external.AddFavorite(bUrl, bTitle);
} else { // webkit - safari/chrome
e.preventDefault();
alert('Press ' + (navigator.userAgent.toLowerCase().indexOf('mac') != -1 ? 'Command/Cmd' : 'CTRL') + ' + D to bookmark this page.');
}
});
});