2010-07-19 3 views
2

J'ai créé un bookmarklet javascript qui obtient le titre et l'URL de la page en cours, en utilisant le code suivant:DEVENEZ 'envoyer à Delicious de la bookmarklet avec étiquette personnalisée

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

Je veux maintenant prendre cette information et ajoutez-le en tant que signet sur mon compte Delicious. Comment puis-je faire avec Javascript/jQuery? J'ai jeté un coup d'oeil au API documentation mais j'ai de la difficulté à me faire une idée (ce qui est complètement nouveau et OAuth me fait tourner la tête), et je ne trouve aucun exemple de code complet à bricoler.

J'apprécierais vraiment toute aide/exemples.

Répondre

1

Edit:

You may want to look at this previous question. - "Je veux créer un bookmarklet délicieux dans Firefox qui signets la page en cours avec une étiquette prédéfinie."


Eh bien, un exemple qui fait exactement ce que vous voulez en utilisant un bookmarklet dans la barre d'outils de votre navigateur est le délicieux bookmarklet. Il rassemble des informations de la page, affiche les informations dans une fenêtre contextuelle, vous permettant de le modifier, puis il stocke à votre compte:

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

Si vous utilisez votre ID Yahoo connecter, vous ne devez utiliser OAuth, mais si vous ne le faites pas, vous pouvez utiliser la V1 api comme celui-ci (de this page, a travaillé pour moi dans Chrome):

javascript:(

    function() 
    { 
     location.href = 'https://user:[email protected]/v1/posts/add?url=' 
      + encodeURIComponent(window.location.href) 
      + '&description=' + encodeURIComponent(document.title) 
      + '&tags=obvioustesttag'; 
    } 

)() 

Assurez-vous de rechercher vos tags pour "evidencetesttag" car il n'apparaît pas dans la liste chronologique immédiatement. Essayez de créer un compte de connexion ou un nouveau compte si vous utilisez actuellement YahooID pour vous connecter, sinon, vous devrez faire face à OAuth.

+0

Oui, je veux essentiellement faire la même chose sans la fenêtre contextuelle et en ajoutant une balise automatique, comment puis-je modifier le dessus pour faire cela? –

+1

Vous devez utiliser http://delicious.com/help/api#posts_add. C'est une version 1 api, donc je ne crois pas que OAuth soit nécessaire. J'essaie d'obtenir un exemple de travail. –

+0

Ouais c'est où je frappe un mur ... J'ai ma clé API OAuth et Secret, mais aucune idée de comment l'utiliser réellement, ne trouve pas d'exemples pratiques –

Questions connexes