2010-10-20 5 views
3
javascript: var d = document, 
    w = window, 
    e = w.getSelection, 
    k = d.getSelection, 
    x = d.selection, 
    s = (e ? e() : (k) ? k() : (x ? x.createRange().text : 0)), 
    f = 'http://www.tumblr.com/share', 
    l = d.location, 
    e = encodeURIComponent, 
    p = '?v=3&u=' + e(l.href) + '&t=' + e(d.title) + '&s=' + e(s), 
    u = f + p; 
try { 
    if (!/^(.*\.)?tumblr[^.]*$/.test(l.host)) throw (0); 
    tstbklt(); 
} catch (z) { 
    a = function() { 
     if (!w.open(u, 't', 'toolbar=0,resizable=0,status=1,width=450,height=430')) l.href = u; 
    }; 
    if (/Firefox/.test(navigator.userAgent)) setTimeout(a, 0); 
    else a(); 
} 
void(0) 

Voici le code du bookmarklet de Tumblr. Je comprends tout, mais je ne peux pas savoir ce que la fonction tstbklt(); est pour ...Que fait tstbklt() depuis le bookmarklet Tumblr javascript?

Je suis juste curieux, quelqu'un a une idée là-dessus?

Répondre

3

La fonction tstbklt semble être définie uniquement sur http://tumblr.com/goodies (compte requis), comme suit:

function tstbklt() { 
    alert('You\'ve successfully installed the bookmarklet!'); 
    return false; 
} 

Sur une page autre que celui où une fonction tstbklt est définie, une erreur sera levée et la clause catch va s'exécuter.

+0

Ce qui est vraiment bizarre, c'est que j'ai trouvé cette fonction dans le bookmarklet bit.ly (voir http://bit.ly/pages/tools). Et en le comparant avec celui de tumblr, il semble qu'ils soient presque identiques. Je soupçonne quelqu'un à bit.ly de simplement copier/coller puis d'adapter le code tumblr sans le comprendre ... – odalet