【发布时间】:2010-07-06 18:16:43
【问题描述】:
有谁知道我可以在单击多个浏览器的链接时自动将网站添加到收藏夹的脚本?至少 Firefox、IE、Chrome 会很好。
如果没有,有没有办法可以通过 Javascript 模拟 ctrl+D,因为我知道击键会在大多数浏览器中将网站添加到书签?
【问题讨论】:
标签: javascript browser bookmarks
有谁知道我可以在单击多个浏览器的链接时自动将网站添加到收藏夹的脚本?至少 Firefox、IE、Chrome 会很好。
如果没有,有没有办法可以通过 Javascript 模拟 ctrl+D,因为我知道击键会在大多数浏览器中将网站添加到书签?
【问题讨论】:
标签: javascript browser bookmarks
不存在用于添加书签的通用脚本,因为并非所有浏览器都公开了用于创建书签的 API。通常,只有 IE 为此公开了直接 API。 Opera 和 Firefox 都提供了将站点添加到将在 侧边栏 中打开的书签的可能性,这是一个巨大的区别。 Safari 和 Chrome 也不会为此任务公开任何 API。
【讨论】:
我使用一个小脚本尝试使用最流行的窗口方法添加书签,直到所有方法都失败。然后它只是提示用户手动添加他们的书签...
就像其他人(上面)所说的那样,一些浏览器禁止脚本激活的书签,并且出于安全考虑,他们只希望用户添加书签。
它并不完美,但它很简单,效果很好。
function addBookmark()
{
var success=false;
// try each until all fail...
try {
window.external.AddFavorite(window.location, document.title);
success=true;
} catch(e) {}
try {
window.sidebar.addPanel(document.title,location.href,'');
success=true;
} catch(e) {}
if(!success)
{
alert("AUTO BOOKMKARING not supported\r\nIn your current browser.\r\n\r\nPress CTRL+D, or CMD+D\r\nto manually bookmark this page.");
}
}
【讨论】:
如果您正在使用这个 jquery 插件,您可以查看它,或者如果您想使用自己的,请查看它们的源代码。尽管他在兼容性方面提到 Safari 和 Chrome 并未在其 API 中公开此功能。
【讨论】:
javascript bookmark 的第一个 Google 结果。
【讨论】:
在 Internet Explorer 中,它适用于:
window.external.AddFavorite(document.location,document.title);
在 Firefox 和 Opera 中:
<a href="your_link_here" rel="sidebar" title="website page title here">Some link name</a>
我还没有找到 safari / chrome 的解决方案。
【讨论】: