

Google Analyticsのようにサイトからデータを送信するときはどうしたらよいのでしょうか。

jQueryのgetやpostでやろうとするとクロスオリジンの問題があるなーと思って諦めていたのですが、AnalyticsもJavaScriptを使ってデータを送信しているのですよね。

こういう場合どのようにしてデータを送信しているのでしょうか。  
ユーザーの情報を下手に送信するわけにはいかないので、注意点などあればおしえてください。


CC BY-SA 3.0
2015-03-19T07:45:40.130
8114
2015-03-19T09:58:12.383
7339
question
javascript jquery
Google Analyticsのようにデータを送信したい


GoogleAnalyticsの場合、JavaScriptを利用してページのどのあたりが比較的クリックされやすいかといった普通では得られない情報も収集していると思われますが、ipアドレスやUserAgentなどの基本的な情報であれば、基本的にリクエストがあるだけで得ることができます。

たとえば、ガラケーではJavascriptが動かない端末がありますが、モバイル版GoogleAnalyticsではJavascriptが動かないガラケーにも対応しています。

これは`<img>`タグを使うことで実現しています。つまり、`<img
src='http://hoge.com/a.gif'>`とHTMLに記述するだけで、ブラウザが`hoge.com`に画像を取得するためにリクエストを送信します。

リクエストがあれば、リクエストを受け付けたサーバはリクエストの情報を得ることができます。

つまり、ユーザは１つのページを開いたつもりでも、裏側では様々なサイトにアクセスしているのです。（これを悪用する悪い人たちもいます）

クロスオリジンの問題に関しては、サーバが許可していれば何も問題なくアクセスすることが可能なはずです。サイト制作者が勝手にサーバのデータにアクセスすることと、サーバ管理者がサイト制作者に権限を与えることはまったく逆のことです。


CC BY-SA 3.0
2015-03-19T09:52:09.170
8124
2015-03-19T09:58:12.383
2015-03-19T09:58:12.383
8351
8351
8114
answer