DuckDuckGo (и другие) вопросы карманных виджетов

Я однажды заметил виджет кармы "DuckDuckGo" при просмотре и решил поиграть с ним.

Его цель - собрать свою "карму" с разных веб-сайтов и отобразить маленькую коробочку, подобную этой:

ДДГ Карма виджет

Я попробовал это на моем сайте следующим образом, и это обеспечивает изображение выше всех прав.

<div id="footer">
<script type="text/javascript">
    ddg_k_title = '';
    ddg_k_bold_karma = '1';
    ddg_k_link_karma = '0';
    ddg_k_link_label = '0';
    ddg_k_show_username = '0';
    ddg_k_show_service_name = '0';
    ddg_k_paren_karma = '0';
    ddg_k_vertical_spacing = '5';
    ddg_k_column_width = '150';
    ddg_k_padding = '5';
    ddg_k_font_size = '9pt';
    ddg_k_font_color = 'black';
    ddg_k_font_family = '';
    ddg_k_border = '1px solid #AAA';
</script>
<div id="holder" style="position: relative; height: 76px; width: 50%; margin: 0px auto">
    <div id="ddg_k" style="width: 150px; height: 47px; font-size: 9pt; background: white;
        padding: 5px; text-align: left; float: left">
    </div>
    <script type="text/javascript" src="http://karma.duckduckgo.com/k.js?t=1,5&u=Evgeny,evgenyr"></script>

Однако есть вопросы, на которые я не могу найти ответы:

  1. Я не мог найти любую документацию. Параметры для k.js мне пришлось буквально выяснять методом проб и ошибок. Кто-нибудь может помочь с этим?

  2. Он по-прежнему показывает карму за день, когда я добавил виджет на свой сайт - я знаю, что значения изменились с тех пор. Что мне не хватает?

  3. Наконец, если кто-то может предложить похожие виджеты, которые я могу легко использовать на веб-сайте, это будет должным образом одобрено!

1 ответ

Решение

Я не нашел никакой документации для виджета кармы, несмотря на то, что много гуглял вокруг.

Кажется, вы изучили сценарий, но я, тем не менее, документирую некоторые результаты здесь.

Глядя в k.js файл, который генерируется, вы можете увидеть, что вы указываете сайты для отображения в виджете с помощью параметров запроса t а также u:

http://karma.duckduckgo.com/k.js?t=1,5&u=Evgeny,evgenyr

Это означает, что для сайта, определенного 1 имя пользователя Evgeny и для сайта с id 5 имя пользователя evgenyr, Если вы посмотрите на скрипт, вы увидите, что он генерируется на стороне сервера, и у него уже есть очки кармы, полученные в скрипте.

Идентификаторы следующие (прямо из скрипта @ 2012-10-09):

Id  Site
--------------------
1   Hacker News
2   reddit
3   digg
4   Mixx
5   LinkedIn
6   Twitter
7   StumbleUpon
8   delicious
9   YouTube
A   Dailymotion
B   Plurk
C   identi.ca
D   Stack Overflow
E   MySpace
F   GitHub
G   Facebook

Посмотрев на код, вы также можете настроить внешний вид виджета, добавив параметры (начиная с ddg_k_) как код JavaScript на ваш сайт, как вы сделали. Параметры практически не требуют пояснений.

Скрипту также нужен элемент с идентификатором ddg_k где он размещает виджет.

Что касается того, почему значения не обновляются с момента добавления виджета; Я могу только придумать обоснованное предположение, что происходит некоторое кеширование. По крайней мере, здесь в последнем сообщении упоминаются некоторые задержки. Также есть некоторые упоминания о проблемах кеширования на форуме duckduckgo. Это также может быть связано с тем, что серверный компонент, который получает точки, устарел в отношении сайта.

По этой теме, конечно, очень мало информации.:-)

Другие вопросы по тегам