2012-01-16 37 views
5

Tôi thích làm việc với Google Analytics và các cách tôi có thể chia sẻ thông tin về khách truy cập của mình. Chúng tôi sử dụng Biến khách hàng để theo dõi thông tin về người dùng và người dùng tương tác với trang web của chúng tôi như thế nào. Theo đúng mục tiêu của Analytics, chúng tôi luôn tìm cách cải thiện và tối ưu hóa trang web của mình.Làm cách nào để theo dõi người dùng Caps Lock bằng Google Analytics?

Hiện tại chúng tôi đang trong giai đoạn phát triển nơi chúng tôi có thể đưa ra các lựa chọn về cách chúng tôi muốn lưu trữ và trình bày thông tin sản phẩm. Một trong những câu hỏi đặt ra là liệu có hiển thị thông tin sản phẩm ở tất cả các loại mũ hay không. Làm việc với người dùng của chúng tôi trong vài năm qua, có vẻ như phần lớn lưu lượng truy cập của chúng tôi đến từ những khách truy cập đã bật caps lock. Vì vậy, nó đã cho chúng tôi suy nghĩ, chúng ta có thể theo dõi mũ của chúng tôi khóa người dùng với một biến khách hàng để chúng tôi có thể làm cho một quyết tâm thông tin hơn về cách trình bày thông tin?

Kiểm tra mẫu này tôi tát với nhau: http://jsfiddle.net/shanabus/Za4kL/

trang web của chúng tôi về cơ bản đại diện cho một trang web thương mại điện tử tiêu chuẩn. Có một vài hộp văn bản khác nhau và cho phép bạn tìm kiếm một phần số và trong suốt quá trình đặt hàng có một vài nơi mà người dùng có thể nhập văn bản. Bạn có ràng buộc kiểm tra khóa mũ cho tất cả các hộp văn bản hay chỉ những hộp thông thường? Có một hit hiệu suất nếu tôi ràng buộc người nghe nhấn phím vào tất cả các hộp văn bản trên trang web hay nó không đáng kể? Có cách nào tốt hơn để thực hiện điều này?

Tôi tưởng tượng thay vì hiển thị/ẩn một div Tôi thay vào đó sẽ thiết lập các tùy chỉnh var:

_gaq.push('_setCustomVar', 5, 'capslock', 'true', 3); 

Thanks cho bất kỳ suy nghĩ và cân nhắc về vấn đề dường như tầm thường này.

+0

tại sao bạn cần biết thời tiết mà chúng có khóa được nhấn? chỉ cần sử dụng hàm strtolower trước khi bạn tìm kiếm trong db của mình. – ted

+1

@ted, không phải là vấn đề về cách chúng tôi xử lý dữ liệu mà họ tìm kiếm. Theo tinh thần phân tích, chúng tôi chỉ đang cố gắng thu hút số lượng người dùng truy cập trang web của chúng tôi bằng tính năng caps lock so với những người không có nó. – shanabus

+2

+1 cho sự tuyệt vời của việc thêm một var cho capslockusers. – Nanne

Trả lời

4

Tôi muốn ràng buộc sự kiện trên toàn cầu, và sử dụng đoạn mã sau:

var CAPS_ON = null; 
$(window).keypress(function(ev) { 
    var charCode = ev.which; //jQuery normalizes ev.charCode to ev.which 
    // Lowercase chars 
    if (charCode >= 97 && charCode <= 122) { 
     CAPS_ON = ev.shiftKey; // Caps are off if SHIFT is not pressed 
    } else if (charCode >= 65 && charCode <= 90) { 
     CAPS_ON = !ev.shiftKey; 
    } 
}); 

Điều này tạo ra một biến CAPS_ON, có thể được sử dụng trong suốt trang.

giải thích thêm về các mã:

  • Sự kiện này phải được ràng buộc với sự kiện keypress, bởi vì đó là sự kiện quan trọng duy nhất mà phân biện chữ thường/ký tự chữ hoa.
  • Thuộc tính shiftKey phải được kiểm tra, vì nó đảo ngược tính năng CAPS LOCK.
+2

Tất nhiên điều này yêu cầu người dùng nhấn một phím. Nhưng không có xung quanh đó. Bạn có thể muốn ràng buộc điều này với '$ (cửa sổ) .one ('nhấn phím',…)' để tránh chi phí cho mỗi lần nhấn phím. –

+1

@MichaelMior Đó là một mẹo hay nếu chỉ có trạng thái khóa CAPS ban đầu phải được biết. Tuy nhiên, khi bạn quan tâm đến trạng thái khi gửi biểu mẫu, phương pháp hiện tại sẽ được sử dụng. –

+0

@Michael Mior, đây là một nhận xét tuyệt vời nhưng hầu hết khách truy cập của chúng tôi thực hiện tìm kiếm trên trang web của chúng tôi. Nhiều lần cụm từ tìm kiếm của họ bắt đầu bằng một số.Đoạn mã trên sẽ chỉ ghi lại a-z và A-Z vì vậy nếu chữ cái đầu tiên của cụm từ tìm kiếm là số chúng tôi sẽ không có thông tin chính xác nhất – shanabus

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