投稿にリンクを埋め込むと、そのリンクが何回クリックされたかが表示されます。しかし、リンクを1行に配置してワンボックス化されると、クリック数の表示が一切されません。
この投稿で問題についてさらに詳しく説明されています:
The count for links not Oneboxed are showing now, at least on those that I’ve just seen, but there are still no counts showing for those links which get Oneboxed. I just clicked on the Onebox link in the below screenshot and no number came up. And I do know for a fact that several users have also clicked on the link. It works okay here on Meta, but not on our forum (Discourse hosted). As of yet, no one has complained at all. I don’t even think they realize there is supposed to be a counter to sh…
答えには2つの部分があります。
まず、リンクを新しいタブで開く機能を有効にする必要があります(技術的には理解できません。このオプションをオンにしなくても他のリンクはカウントされているからです)。
次に…
つまり、ユーザーが主にクリックするメインのリンクは決してカウントされません。これもまた、リンク間の技術的な違いや、なぜ一方はカウントされ他方はカウントされないのかを理解できません。
技術的な仕組みに対する私の理解不足はさておき、ワンボックス化されたリンクのクリック数が一貫してカウントされることを望んでいます。
「いいね!」 6
JimPas
2019 年 10 月 7 日午後 3:53
2
ダッシュボードのすべての設定を確認しましたが、リンクを外部タブで開くようにするチェックボックスはありません。それでもリンクはすでに別のタブで開いています。
記事のタイトルと リンク自体の両方をクリックしましたが、どちらの場合もカウントされません。
ここが難しい点です。1〜2日間、突然カウントが機能し始めたかと思うと、また停止しました。何も変更していません。モデレーターや複数のユーザーに、投稿されたリンクの横にカウントが表示されているか尋ねましたが、誰も見ていないとのことでした。つまり、これは管理者である私だけの問題ではないことは確実です。
あなたと同じく、Onebox によるリンククリックの一貫したカウントを望んでいます。
編集:空白の後に投稿されたリンク(Onebox されないようにするため)ではカウントは機能しますが、Onebox されたリンクでは機能しないことを付け加えておきます。
「いいね!」 2
dax
(Daniela)
2019 年 10 月 11 日午後 5:43
3
先週、この設定は既に有効にしています。「default other external links in new tab」で検索してください。この設定は、設定を有効にした後に登録された新しいユーザーに適用されます。古いユーザーは、プロフィールからこれを有効にできます(コンソールを通じて古いユーザーにも一括で有効化できる場合)。
このトピックの最初の2つの投稿にある2つのワンボックスをクリックしてみました https://forum.nodders.net/t/2019-plastic-waste-and-recycling/167 。カウントが0から1に増加しました。テストを行ったユーザーが古いユーザーで、プロフィールで外部タブの設定を有効にしていなかったか、またはリンクを右クリックして直接新しいウィンドウで開こうとした可能性があります。
「いいね!」 3
JimPas
2019 年 10 月 11 日午後 6:41
4
おそらくそれが原因でしょう。全員にプロフィールで変更を行う必要があることをお知らせします…私のように。 ありがとうございます。
また、ご自身の投稿 内のリンクをクリックしてもカウンターは増加しない点にご注意ください。
「いいね!」 3
JimPas
2019 年 10 月 17 日午後 6:40
6
@dax さん、@codinghorror さん、当フォーラムでリンクカウンターが私や他のユーザーの環境で機能していた理由がわかりました。[環境設定/インターフェース/その他] で「すべての外部リンクを別のタブで開く」にチェックが入っていましたが、「ブラウザアイコンにカウントを表示」もチェックされていました。どうやら後者が前者よりも優先されるようです。「ブラウザアイコンにカウントを表示」のチェックを外して保存し、投稿を確認すると、カウンターが表示されました!
また、ちょっとした微妙な点も見つけました。ユーザーがリンクを投稿し、OneBox がそれを OneBox 化しようとして失敗した場合(リンクはそのまま残る)、そのリンクの直前に空白がないと、リンククリックカウンターは機能しません。ちょうどこの現象が発生したユーザーの投稿を編集し、空白を追加したところ、カウンターが表示されるようになりました。
「いいね!」 2
adamengst
(Adam C. Engst)
2020 年 1 月 8 日午後 4:22
7
@dax 1-box のクリックバッジを表示するには、なぜこの設定が必要なのかについて、何かご意見はありますか?私のサイトでは変更できますが、実用的にするには 7400 人以上のユーザーに対して一括で設定を変更する必要があります。混乱を招くだけなので、できれば避けたいです。
「いいね!」 2
なぜわざわざやる必要があるのか私にもわかりません。なぜなら、最も目立たないリンクをクリックするごく少数の人を除き、ワンボックスのクリックはカウントされないからです。つまり、クリック回数のデータが表示されない代わりに、誤ったデータ(人為的に低い値)が表示されることになります。私としては、こちらの方がはるかに問題だと考えます。
「いいね!」 1
adamengst
(Adam C. Engst)
2020 年 1 月 8 日午後 5:13
9
良いご指摘です。理想的には、ワンボックスのヘッドラインへのクリックもカウントされるべきです。
「いいね!」 4
evantill
(Eric Vantillard)
2020 年 3 月 16 日午後 11:21
10
見出しのクリック数もカウントするために、テーマコンポーネントを作成しました。
Contribute to evantill/discourse-onebox-track-url development by creating an account on GitHub.
「いいね!」 3
rizka
(rizka)
2020 年 3 月 16 日午後 11:58
11
以前は確かに機能していました。当時は Onebox のクリックが当サイト内でカウントされていました。その後、ある時点で機能しなくなったのですが、正確な時期は覚えていませんが、おそらく1年以上前だと思います。これは新機能のリクエストというより、リグレッション(後退)だと考えています。
@evantill さん、お使いのコンポーネントが具体的にどのような役割を果たしているのか、詳しく教えていただけますか?
「いいね!」 1
動作すれば、コアに単純に追加できる小さな JavaScript のようなものに見えます。
evantill
(Eric Vantillard)
2020 年 3 月 17 日午前 9:14
13
URL の中のクリックをヘッダーの URL のクリックに置き換えるだけの単純なスクリプトです。
// onebox 本体内でのクリックの場合
$('.onebox-body a').on('click.onebox-track-url', function(event){
event.preventDefault(); // onebox 内のクリックイベントを無視
var headerUrl = $(event.target).closest('.onebox').find('header a'); // ヘッダーの URL を選択
// トラッキングカウンターを更新するために代わりにヘッダーの URL をクリック
if(headerUrl.length > 0){
headerUrl[0].click(); // ヘッダー URL でのクリックをシミュレート
}
});
});
</script>
「いいね!」 1
evantill
(Eric Vantillard)
2020 年 3 月 17 日午前 9:27
14
どうやら、onebox 本体内のリンクは選択によって追跡されていないようです:
isValidLink() はリンクが .onebox-body 内にある場合に false を返します
if ($link.is(".lightbox, .no-track-link, .hashtag, .back")) {
return false;
}
if ($link.parents("aside.quote, .elided, .expanded-embed").length !== 0) {
return false;
}
return (
$link.hasClass("track-link") ||
$link.closest(".hashtag, .badge-category, .onebox-result, .onebox-body")
.length === 0
);
}
export default {
trackClick(e) {
// right clicks are not tracked
if (e.which === 3) {
return true;
}
「いいね!」 1
evantill
(Eric Vantillard)
2020 年 3 月 17 日午後 2:13
15
解決策として、onebox 内のリンクの追跡を有効にする新しい設定を onebox に追加し、その場合、onebox 内のリンクに track-link クラスを追加するのはどうでしょうか?
「いいね!」 1
このスレッドからは、ワンボックスのクリック追跡を停止することが意図的な決定だったのか、それとも単なるバグでプルリクエストを作成できるものなのか、明確ではありません。
「いいね!」 3
riking
(Kane York)
2020 年 3 月 17 日午後 4:14
17
提案された修正を以下のように表現するのは正しいでしょうか?
「リンクが onebox 本文に含まれている場合、onebox の URL を取得します。その URL がリンクと同じであればクリックをカウントし、そうでなければ無視します」
「いいね!」 4
onebox 内に、onebox 対象の URL 以外のリンクを含めることは可能なのでしょうか?私はそうは思いませんでしたが。