2009-04-13 8 views
0

私には多くの発信リンクがあるサイトがあり、その発信リンクへのクリック数をカウントしたいと思います。リンク作業にAJAX関数をフックしますか?

私はリンクを見えるようにする必要があります。 (リンクやリダイレクトのようなDiggはありません)。

私は、すべての発信リンクにいくつかのjQuery関数をフックすることを考えていました。この関数は、カウンタを更新するPHPスクリプトをAJAX経由で呼び出します。

私はフォーム提出で同様のことをしました。フォームのonsubmitがJavaScript関数を返す場所。しかし、それはonclickとリンクで動作しますか?人がFirefoxで中間のクリックをして新しいタブを取得するようなシナリオについて考えてみましょう。

私はJavaScriptをオフにしている人は気にしません。彼らはちょうどリンクに行き、カウントされません、それはいいです。

+0

なぜリダイレクトしませんか? Googleでさえそれをします。 – zalew

+0

ステータスバーにURLを表示させたい。そして、ダニエルはそれにクールな答えを出しました。 –

答えて

5

これはあなたの質問に直接答えるものではありませんが、リダイレクトを考え直したいと思うかもしれません。 someone else's answerから撮影:

Googleは この問題を回避卑劣な方法を発見した実際ステータスバーのリンクの代わりに を変更する Javascriptを使用して。ページが の場合、結果リストのリンク は実際の宛先に移動しますが、 すべてのリンクにはonmousedownがあります クリックすると、 のリンクが変更されるjavascriptイベントです。リンクを右クリックすると、この が表示されます。 にカーソルを合わせると、結果の実際のURLは ではなく、ステータスバーに の宛先(Googleのクリックトラッキング スクリプト)が表示されます。

このようにして、目に見えるリンクを維持できるだけでなく、リダイレクトを介してトラフィックを監視できるようになります。 (リダイレクトに対するあなたの唯一の反対は、リンクのアクセシビリティです。もしあれば、この答えは無視してください)

+0

興味深いことに、実際には、ステータスバーに宛先が表示されないため、リダイレクトは欲しません。 –

+0

私のローカルgoogle(google.is)ではrightclickのものは動作しませんでしたが、google.comで動作します –

1

Webサービスやパラメータを持つページにXMLHTTPRequestを作成できるクライアントサイドのJavaScriptが必要な場合があります(例えば、固有のクライアントID)ここで

 

<a href="http://www.google.com" onclick="registerClick(this.document.getElementById('uniqueId')); return true;">google</a> 
 

はregisterClickクリックレジスタになることができますサーバー側のページへの要求を行うことができる機能である可能性があります。

関連する問題