我有一天在浏览时注意到了“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的参数我必须通过反复试验得出结论。任何人都可以帮忙吗?
它仍显示当我将小部件添加到我的网站时的业力 - 我知道自那时起价值发生了变化。我错过了什么?
最后,如果有人可以推荐类似的小工具,我可以轻松地在网站上使用,这将被正式投票!
答案 0 :(得分:3)
我没有找到任何关于karma小部件的文档,尽管有很多谷歌搜索。
您似乎已查看过该脚本,但我会在此处记录一些调查结果。
查看生成的k.js
文件,您可以看到使用查询参数t
和u
指定要在窗口小部件中显示的网站:
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缓存问题的提及。也可能是因为检索点的服务器端组件与站点有关。
关于这个话题肯定有非常稀少的信息。 : - )