2010-01-17 29 views
12

Tại sao Google Analytic yêu cầu tệp GIF?Tại sao Google Analytic yêu cầu tệp GIF?

Có phải vì GIF cho phép truy cập vào nhiều dữ liệu hơn chỉ một mình JavaScript. Là nó để có được địa chỉ IP của người dùng?

+0

"Tất cả những cái tôi đã triển khai chỉ là JavaScript" thì tại sao bạn hỏi câu hỏi này nếu nó không sử dụng gif? –

+2

@ Chacha102: JavaScript Analytics tạo yêu cầu cho hình ảnh GIF. –

+0

@ Chacha102: trang của Chechl google về cấu trúc yêu cầu gif. http://code.google.com/intl/en-US/apis/analytics/docs/tracking/gaTrackingTroubleshooting.html#gifParameters – GmonC

Trả lời

14

Ngay cả khi đã bật JavaScript, phân tích yêu cầu tệp GIF. Nếu bạn nhìn vào các tham số GET của hình ảnh, nó chứa rất nhiều thông tin về trình duyệt. Nội dung như utmsr=1280x1024 (kích thước màn hình). Google Code có list of parameters.

Sử dụng yêu cầu hình ảnh để gửi thông tin về trình duyệt mà không cần XMLHttpRequest.

Bây giờ, để thực sự trả lời câu hỏi ban đầu, Google có thể thực hiện việc này để nhận được các giới hạn xung quanh cross-domain XMLHttpRequest.

+2

Tôi tin rằng Google sử dụng yêu cầu hình ảnh đơn giản chỉ vì họ không cần nhận bất kỳ thông tin nào, chỉ gửi. Yêu cầu hình ảnh là cách nhẹ nhất để thực hiện việc này. – mylesmg

16

javascript của Google phải truyền thông tin chi tiết về lượt xem trang của bạn tới máy chủ của họ. Không thể sử dụng Ajax trên các tên miền, do đó, cách duy nhất để gửi thông tin là yêu cầu tệp từ máy chủ Google, chuyển các thông tin cần thiết trong chuỗi truy vấn. Để tạo thuận lợi cho điều này, một số hình thức nội dung phải được yêu cầu bằng cách sử dụng thẻ HTML chuẩn. Cách dễ nhất để thực hiện điều này mà không ảnh hưởng đến chính trang đó là tải gif trong suốt 1x1. Lưu ý rằng trong trường hợp của tập lệnh Google (và các tập lệnh khác), hình ảnh này không thực sự được thêm vào trang. Nó chỉ được tải thông qua một tuyên bố javascript

var img1 = new Image(); 
img1.src = 'http://path/to/file.gif?otherinfohere'; 

Thao tác này tải hình ảnh mà không thêm nó vào trang. Thông tin cũng có thể được tải bằng cách sử dụng thẻ tập lệnh như vậy:

<script src="http://path/to/script.js?otherinfohere" type="text/javascript"><script> 

Tuy nhiên, người dùng có nhiều khả năng chặn javascript hơn hình ảnh, vì vậy, tuyến đường an toàn hơn là yêu cầu hình ảnh. Về lý do tại sao họ sẽ sử dụng một gif thay vì nói, một jpg, một gif là an toàn hơn trong trường hợp một trình duyệt giả mạo thực sự thêm hình ảnh vào trang. Gif trong suốt không có khả năng tác động tiêu cực đến bố cục, trong đó dưới dạng jpg 1x1 sẽ để lại dấu chấm 1 pixel ở đâu đó trên trang.

Chỉnh sửa: Để thêm vào nhận xét của tôi về người dùng có javascript bị chặn, yêu cầu gif chứa thông tin tĩnh có thể được thêm vào bên trong thẻ noscript để cho phép theo dõi cơ bản ngay cả trong trường hợp javascript bị tắt. Theo hiểu biết của tôi, GA không làm điều này, nhưng một số nhà cung cấp phân tích trang web khác lại làm như vậy.

12

http://www.perlmonks.org/?node_id=7974

Các transperant GIF nhỏ nhất là 43 byte.

http://garethrees.org/2007/11/14/pngcrush/

Các transperant nhỏ PNG-24 (mà không thể được hiển thị bằng các trình duyệt cũ quá) là 67 byte.

http://www.techsupportteam.org/forum/digital-imaging-photography/1892-worlds-smallest-valid-jpeg.html

Nhỏ nhất (đục) JPEG là 134 byte.

Toán học rất đơn giản! Kích thước lớn hơn = nhiều chi phí hơn.

+3

** 67 ** byte, không phải 73 byte. Bạn phải đọc tất cả các cách để kết thúc cho punchline! –

1
  1. bạn có thể sử dụng __utm.gif theo dõi mà không cần javascript (w một số máy chủ giúp đỡ)

  2. bạn có thể sử dụng nó trong một thông báo email (w một số giúp đỡ chương trình trước khi gửi email)

  3. Urchin được phát triển trước khi AJAX là phổ biến (2005)

Không có gì để làm với tên miền chéo. Họ có thể đã sử dụng JSONP cho điều đó.

+0

JSONP là để nhận dữ liệu và Google Analytics chỉ cần truyền dữ liệu. – alex

+2

thẻ hình ảnh là để nhận dữ liệu và OH WAIT. bạn có thể đặt các thông số chuỗi truy vấn trong yêu cầu JSONP giống như đối với hình ảnh ... và trả về 204 –

Các vấn đề liên quan