0

ある日ブラウジング中に「DuckDuckGo」カルマ ウィジェットに気付き、それで遊ぶことにしました。

その目的は、さまざまな Web サイトから「カルマ」を収集し、次のような小さなボックスを表示することです。

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

多くのグーグル検索にもかかわらず、カルマウィジェットのドキュメントも見つかりませんでした。

スクリプトを調べたようですが、いくつかの調査結果をここに記録します。

生成されたk.jsファイルを見ると、クエリ パラメータtとを使用して、ウィジェットに表示するサイトを指定していることがわかりuます。

http://karma.duckduckgo.com/k.js?t=1,5&u=エフゲニー、エフゲニール

これは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スクリプトには、ウィジェットを配置する場所の ID を持つ要素も必要です。

ウィジェットを追加してから値が更新されない理由について。キャッシングが行われているという経験に基づいた推測しか思いつきません。少なくともここでは、最後のメッセージでいくつかの遅延が言及されています。また、 duckduckgo フォーラムでキャッシングの問題について言及されています。また、ポイントを取得するサーバー側のコンポーネントがサイトに関して古くなっていることが原因である可能性もあります。

確かに、このトピックに関する情報は非常に乏しいです。:-)

于 2012-10-09T10:03:28.490 に答える