使用自定义标记创建“发送到美味”书签

时间:2010-07-19 20:11:57

标签: javascript jquery ajax bookmarklet delicious-api

我创建了一个javascript书签,使用以下代码获取当前页面的标题和网址:

//Check to see if jQuery is already loaded
if (typeof jQuery == 'undefined') {
    var jQ = document.createElement('script');
    jQ.type = 'text/javascript';
    jQ.onload=runthis;
    jQ.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';
    document.body.appendChild(jQ);
} else {
    runthis();
}

// main Javascript function
function runthis() {
    title = document.title;
    url = document.URL;
    tag = "customTag";

    alert("Added to paperclip: Page Title: "+title+" | URL: "+url);
}

我现在想要获取该信息并将其添加为我的Delicious帐户上的书签。我如何使用Javascript / jQuery进行此操作?我已经看了API documentation,但是我无法理解它(对此非常陌生,OAuth让我头晕目眩),并找不到任何完整的代码示例来修补。< / p>

非常感谢任何帮助/示例。

1 个答案:

答案 0 :(得分:1)

修改

You may want to look at this previous question. - “我想在Firefox中创建一个Delicious书签,用预定义的标签为当前页面添加书签。”


嗯,通过在浏览器的工具栏中使用书签来完全满足您的需求就是美味的书签。它从页面收集信息,在弹出窗口中显示信息,允许您编辑它,然后将其存储到您的帐户:

http://delicious.com/help/bookmarklets

javascript:(function(){
    f= 'http://delicious.com/save?url=' 
    + encodeURIComponent(window.location.href)
    + '&title='+encodeURIComponent(document.title)
    + '&v=5&';
    a=function(){
        if( !window.open(
            f + 'noui=1&jump=doclose',
            'deliciousuiv5',
            'location=yes,
            links=no,scrollbars=no,
            toolbar=no,width=550,height=550'))location.href=f + 'jump=yes'
    };
    if(/Firefox/.test(navigator.userAgent)){
        setTimeout(a,0)
    } else {
      a()
    }
})()

如果您使用Yahoo ID登录,则必须使用OAuth,但如果不这样做,则可以使用这样的V1 api(来自this page,在Chrome中为我工作):

javascript:(

    function()
    {
        location.href = 'https://user:pwd@api.del.icio.us/v1/posts/add?url=' 
            + encodeURIComponent(window.location.href)
            + '&description=' + encodeURIComponent(document.title)   
            + '&tags=obvioustesttag';
    }

)()

请务必在标签中搜索“obvioustesttag”,因为它不会立即显示在时间顺序列表中。

如果您目前使用YahooID登录,请尝试创建常规登录帐户或新帐户,否则,您必须处理OAuth。