用javascript书签

时间:2009-01-07 12:25:36

标签: javascript

我想使用javascript代码制作我的网页的书签。我想要一个javascript代码来制作一个应该在新窗口中打开的书签。

我正在使用Firefox。

4 个答案:

答案 0 :(得分:2)

使用此功能:

function bookmark_us(url, title){
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();
}
else if(document.all)// ie
    window.external.AddFavorite(url, title);
}

答案 1 :(得分:1)

在Firefox中,目前无法做到这一点(并且bugzilla中有bugs filed跟踪此缺陷)

“无法做到这一点”我的意思是你可以使用Dreas给出的功能,但你将只能添加一个默认为侧边栏的书签。最终用户必须手动取消选中“在边栏中打开”选项。

答案 2 :(得分:0)

询问其中一个Mozilla用户组(可能是mozilla.dev.tech.xulmozilla.dev.tech.xpcom)。您可以想象创建正确的XPCOM对象来访问浏览器的书签管理器 - 这需要启用权限(用户必须明确批准这一点)。不可移植到其他浏览器(显然),也许不是这样做的好方法。

我见过的大多数便于书签的网站(Jesse Ruderman's bookmarklet page都是一个很好的例子)只是要求用户将相应的书签拖到他们选择的书签文件夹中,这似乎比直接/简单得多。试图自动为书签添加内容。

答案 3 :(得分:0)

function bookmark_us(url, title){
    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();
    } else if (document.all) // ie
        window.external.AddFavorite(url, title);
}

用于:

<a href="#" onclick="bookmark_us('http://www.yahoo.com/', 'Yahoo!');return false;">Bookmark Us</a>

上述功能在Opera 9.x中不再有效。它只是导航到www.yahoo.com。


要创建一个弹出Opera 9.x中“添加书签”对话框的链接,请使用以下命令:

function bookmark_us(url, title) {
    if (window.sidebar && window.sidebar.addPanel) // firefox
        window.sidebar.addPanel(title, url, "");
    else if (window.external && 'undefined' != typeof window.external.AddFavorite) // ie
        window.external.AddFavorite(url, title);
}

<a href="http://www.yahoo.com/" rel="sidebar" title="Yahoo!" onclick="bookmark_us(this.href, this.title);return false;">Bookmark Us</a>