DuckDuckGo(和其他)业力小工具问题

时间:2012-09-29 09:11:02

标签: web widget duckduckgo-api

我有一天在浏览时注意到了“DuckDuckGo”业力小部件,并决定玩一个。

它的目的是从不同的网站收集你的“业力”,并显示一个像这样的小盒子:

ddg karma widget

我在我的网站上尝试了如下,它提供了上面的图片。

<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 个答案:

答案 0 :(得分:3)

我没有找到任何关于karma小部件的文档,尽管有很多谷歌搜索。

您似乎已查看过该脚本,但我会在此处记录一些调查结果。

查看生成的k.js文件,您可以看到使用查询参数tu指定要在窗口小部件中显示的网站:

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

这意味着,1标识的网站的用户名为Evgeny,而标识为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代码嵌入到您的网站中来自定义窗口小部件的外观效果。参数几乎是不言自明的。

该脚本还需要一个id为ddg_k的元素,用于放置小部件。

为什么在添加小部件后不更新值的原因;我只能提出一个有根据的猜测,即有一些缓存正在进行中。至少here最后一条消息提到了一些延迟。还有一些关于duckduckgo forum缓存问题的提及。也可能是因为检索点的服务器端组件与站点有关。

关于这个话题肯定有非常稀少的信息。 : - )