代码之家  ›  专栏  ›  技术社区  ›  Chris Armstrong

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

  •  2
  • Chris Armstrong  · 技术社区  · 14 年前

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

    //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);
    }
    

    我现在想把这些信息作为书签添加到我的美味账户中。我如何使用javascript/jquery来实现这一点?我看了一下 API documentation 但是我很难理解它(这是全新的,而OAuth让我头昏眼花),并且找不到任何完整的代码示例来修补。

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

    1 回复  |  直到 14 年前
        1
  •  1
  •   Community Romance    7 年前

    编辑:

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


    好吧,一个在浏览器工具栏中使用书签的例子就是美味书签。它从页面收集信息,在弹出窗口中显示信息,允许您编辑信息,然后将其存储到您的帐户:

    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()
        }
    })()
    

    如果您使用您的雅虎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。