Lấy đoạn text đang được user chọn trên trang

Hi all,

Mấy hôm nay thấy dân mạng khoe inh sỏi vụ có cái Tracer của bọn Tynt.com nó cho phép webmaster biết user người ta đang xem gì làm gì chọn gì trên website của mình. Vụ này ý tưởng hay phết, nhưng technical chắc cũng chả có gì ghê gớm (vẫn phục bọn khoai tây về cái vấn đề này, bọn nó ăn học nghĩ, khoai lang như mình thì ăn học làm, ek nghĩ đc cái gì cho dân tình e sợ cả).

Mình draft thử vài cái xem có làm đc không, thì thấy là cũng không khó lắm:

  • Viết đoạn js nhỏ, nhúng vào website. Đoạn js này sẽ làm nhiệm vụ detect xem user đang chọn cái gì rồi gửi lên một cái server nào đó (gọi web API qua URL thôi). Việc này phải làm âm thầm và nhanh, nếu tiện tay gửi kèm luôn cả cookie, url các thể loại cho nó đầy đặn. Có một vướng mắc nho nhỏ là: nếu không handle đc sự kiện kiểu như OnSelection, thì đoạn js này sẽ phải setInterval() để check xem User có chọn gì ko, mà làm vậy là mệt đấy, nặng đấy.
  • API nhận đoạn text kia và dữ liệu liên quan, ghi lại hết vào db.
  • Chú chủ website lúc nào thích thống kê thì mở trang report ra, query vào cái DB kia là xong.

Tính năng nghe có vẻ hay, nhưng đồ là chạy sẽ không nhanh (vì Google Analytics có mỗi chuyện gửi cookie, url đi thôi mà còn chậm, chú này còn phải quét on_selection), vớ vẩn làm chậm trang web, user cằn nhằn rồi chạy mất thì hỏng bánh kẹo.

Anh em ném đá cái nhỉ, xem có đúng ko?

Tham khảo kỹ thuật về lấy đoạn text đang được chọn trên trang:
http://www.codetoad.com/javascript_get_selected_text.asp (ok với IE, FF, chưa test cái khác)
http://laboratorium.0xab.cd/jquery/fieldselection/0.2.3-test/test.html (ok IE, FF, chưa test cái khác)
http://snipplr.com/view/775/getselection/ (IE6, Fx2, Opera9, Safari)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s