2010-10-20 38 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