Что делает tstbklt () из javascript букмарклета Tumblr? - PullRequest
3 голосов
/ 20 октября 2010
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)

Вот код из букмарклета Тумблера. Я все понимаю, но не могу понять, для чего нужна функция tstbklt(); ...

Мне просто любопытно, у кого-нибудь есть идеи по этому поводу?

1 Ответ

3 голосов
/ 21 октября 2010

Функция tstbklt может быть определена только для http://tumblr.com/goodies (требуется учетная запись) следующим образом:

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

На любой странице, кроме той, где определена функция tstbkltбудет выдано сообщение об ошибке и будет выполнено предложение catch.

...