是否有任何跨浏览器书签/使用 JavaScript 添加到收藏夹。
搜索了一些列表,但没有一个有效。你能提出任何建议吗?
是否有任何跨浏览器书签/使用 JavaScript 添加到收藏夹。
搜索了一些列表,但没有一个有效。你能提出任何建议吗?
jQuery 版本
JavaScript(从我在某人网站上找到的脚本修改而来 - 我只是无法再次找到该网站,所以我不能给此人信用):
$(document).ready(function() {
$("#bookmarkme").click(function() {
if (window.sidebar) { // Mozilla Firefox Bookmark
window.sidebar.addPanel(location.href,document.title,"");
} else if(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;
}
});
});
HTML:
<a id="bookmarkme" href="#" rel="sidebar" title="bookmark this page">Bookmark This Page</a>
如果您不在服务器上运行它,IE 将显示错误(当将其查看为 时,它不允许通过 JavaScript 使用 JavaScript 书签file://...
)。
function bookmark(title, url) {
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;
}
else if (document.all)
{
// ie
window.external.AddFavorite(url, title);
}
}
我用过这个并且在 IE、FF、Netscape 中效果很好。Chrome、Opera 和 safari 不支持!
如何使用像ShareThis或AddThis这样的嵌入式解决方案?它们具有相似的功能,因此很可能它们已经解决了问题。
AddThis 的代码有一个巨大的 if/else 浏览器版本分支,用于保存收藏夹,不过,大多数分支都以提示用户自己手动添加收藏夹结束,所以我认为不存在这样的纯 JavaScript 实现。
否则,如果你只需要支持 IE 和 Firefox,你有 IE 的window.externalAddFavorite()和 Mozilla 的window.sidebar.addPanel()。