0

Web サイトでコードを使用し、Web サイトでの訪問時間を追跡する JavaScript スニペット コード (Google アナリティクスのようなもの) をクライアントに提供したいと考えています。これには Cookie を使用したいと考えています。

私の唯一の質問は、実装する最良の方法は何ですか? 私が考えているいくつかのオプション:

  1. PHP から Cookie を設定する必要がありますか (これは私のドメインに配置されます)、それはサード パーティの Cookie と見なされますか?
  2. または、サイトからクライアント側で読み込まれるため、Javascript から Cookie を設定する必要がありますか?
  3. それとも、JavaScript で Cookie を設定し、PHP でアクセスするのが最善の方法でしょうか?
4

1 に答える 1

2

JavaScript で Cookie を設定すると、Cookie のドメインは、あなたのドメインではなく Web サイトのドメインになります。そのため、そのようなことをしているときにはその情報は利用できません。

<script src="http://example.com/tracking-js.php"></script>

言い換えれば、それはうまくいきません。

代わりに、AJAX を使用するか、(Google の方法で) 空白の画像をロードして、クライアント情報を Web サービスに送信する必要があります。

JavaScript で使用できるが、サーバーに送信されない ( ではない$_SERVER) パラメータが多数あります。Google はその情報を GET パラメータとして追加します。

ただし、そのデータが本当に必要ない場合、最も簡単な方法は、クライアントの Web サイトにスクリプトを画像として含めることです。

<img src="http://example.com/tracking.php" />

$_SERVER['HTTP_REFERRER']スクリプトが含まれているページの URL になります。必ず to を設定しContent-Type'image/gif'空白の 1px gif を出力してください。

AJAX を使用する場合は、応答ヘッダーを設定することを意味するCORSを使用する必要があることに注意してください。Access-Control-Allow-Origin

jQuery を使用せずに AJAX を使用するのは面倒な場合があることに注意してください。レスポンスは気にしないので、(javascript を使用して) 追跡画像を作成するのがおそらく最良の選択肢です。それを実装する方法の基本については、この記事をお読みください。

于 2013-01-04T00:22:07.187 に答える