2010-10-20 35 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) 

下面是来自Tumblr书签的代码。 我明白这一切,但我不明白什么tstbklt();功能是...Tumblr小书签javascript的tstbklt()是什么?

我只是好奇,任何人都有一个想法呢?

回答

3

tstbklt似乎只可于http://tumblr.com/goodies(需要帐户)中所定义,如下所述的功能:

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

在除其中tstbklt函数被定义,错误将被抛出其他任何页和catch子句将执行。

+0

真奇怪的是我在bit.ly bookmarklet中找到了这个函数(参见http://bit.ly/pages/tools)。通过与tumblr的比较,它们看起来几乎完全相同。我怀疑有人在bit.ly刚刚复制/粘贴,然后改编tumblr代码而不理解它... – odalet 2010-12-02 23:58:32