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>
Однако есть вопросы, на которые я не могу найти ответы:
Я не мог найти любую документацию. Параметры для k.js мне пришлось буквально выяснять методом проб и ошибок. Кто-нибудь может помочь с этим?
Он по-прежнему показывает карму за день, когда я добавил виджет на свой сайт - я знаю, что значения изменились с тех пор. Что мне не хватает?
Наконец, если кто-то может предложить похожие виджеты, которые я могу легко использовать на веб-сайте, это будет должным образом одобрено!
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. Это также может быть связано с тем, что серверный компонент, который получает точки, устарел в отношении сайта.
По этой теме, конечно, очень мало информации.:-)