борьба с tinyurl.com

, , comments: 5

многим людям не нравятся длинные ссылки. Я могу их понять, если эти ссылки не относятся к человекопонятным урлам, и содержат большей частью мешанину из разных символов. Однако даже в таких ссылках доменное имя обычно легко читается, и само по себе несёт некоторую информацию. Только вот даже эти крохи всяческие «сокращатели ссылок» вроде tinyurl.com или b23.ru безжалостно скрывают за другой мешаниной символов, хотя и намного более короткой

с этим можно бороться, благо каждый сам хозяин своему браузеру, в котором показываются эти ссылки. Берётся простой user script, вставляется в браузер — и вуаля! Достаточно навестись мышью на короткую ссылку, чтобы она развернулась во всю длину

а теперь о технических подробностях. Вроде всё просто — нужно отправить запрос по этому адресу, и прочитать заголовок редиректа. Двойной облом: редирект происходит автоматически, да и отправить запрос на другой домен нельзя. Можно только использовать JSONP, но для этого нужен сервер. О, Simon Willison недавно делал сервис json-head, который как раз возвращает заголовки, отдаваемые урлом! Опять облом: сервис использует запрос HEAD, на который «сокращатели» реагируют неправильно. Пришлось делать свой сервис, только не показывать его никому — хостинг потенциальной нагрузки не выдержит. Впрочем, для проблемы нагрузки появилось решение: Google App Engine, который недавно открылся-таки для всех желающих

алгоритм работы в итоге такой: находим на странице все ссылки длиной меньше 30 символов, ведущие на другой домен, и вешаем на них обработчик mouseover и focus, который подгружает с сервера развёрнутый урл и заменяет им ссылку. При изменении документа повторяем

эх, давно не удавалось вот так прийти домой и напрограммить что-нибудь : )

update: как это обычно и бывает, на следующий день нашёлся аналогичный скрипт-разворачиватель. Хотя он не настолько универсальный, поэтому свой разворачиватель коротких ссылок я положу рядом

pingbacks

  1. youtube минус flash — software simian's typewritings

comments

  1. В Опере работает. Спасибо.

    В Firefox 3.0.3 не работает. Не знаю как это дебажить. Ошибки не пишутся ни в Firebug, ни в консоль ошибок.

    ELV1S,
  2. честно говоря, в фф я его и не тестил вообще : ) но сейчас исправил, работает

    arty,
  3. Ага, теперь работает.

    ELV1S,
  4. Спасибо большое, классная вещь!

    Однако не работает с ff.im и adjix.com, хотя и переход происходит сравнительно медленно, наверное урл редиректа как-то не так отдается.

    Rakovets_Oleksandr,
  5. а где вы в вебе видите ссылки на ff.im? они же вроде только в пейджеры и приходят, там браузерный скрипт не работает : )

    arty,

Login with OpenId to leave comment