0

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

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

ddg 业力小部件

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

<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. 最后,如果有人可以建议我可以在网站上轻松使用的类似小部件,那将得到适当的支持!

4

1 回答 1

3

尽管在谷歌上搜索了很多,但我也没有找到 karma 小部件的任何文档。

看来您已经查看了脚本,但我仍然会在此处记录一些发现。

查看生成的k.js文件,您可以看到您使用查询参数t和指定要在小部件中显示的站点u

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

这意味着对于由1用户名标识的站点是Evgeny,对于具有 id5的站点,用户名是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它放置小部件的位置。

至于为什么自从添加小部件后值没有更新;我只能提出一个有根据的猜测,即正在进行一些缓存。至少在这里最后一条消息提到了一些延迟。此外, duckduckgo 论坛上也提到了缓存问题。也可能是因为检索点的服务器端组件对于站点而言已过时。

关于这个主题的信息肯定非常稀缺。:-)

于 2012-10-09T10:03:28.490 回答