2011-07-28 14 views
18

Tôi có một trang web mà tôi tự động tạo mã Javascript bằng cách sử dụng trình xử lý ASP.NET, trong đó tôi nên thêm liên kết giới thiệu vào cơ sở dữ liệu.Tôi có thể nhận được liên kết giới thiệu không?

Tôi muốn để có được kết giới thiệu của người giới thiệu như sau:

  • website1
  • website2 (nơi tôi có thể tạo điểm ảnh vào trang web khác)
  • website3 (nơi điểm ảnh nằm)

Tôi không có quyền truy cập mã vào website1, trên website2 Tôi chỉ có thể gán JavaScript.

Nếu tôi nhận được liên kết giới thiệu ở trạng thái đơn đăng ký hiện tại, tôi nhận được website2.

Có cách nào để nhận được website1 làm liên kết giới thiệu không?

+0

* "nơi mà tôi tạo ra pixel để một trang web khác" * Huh? –

+1

@TJCrowder: khá chắc chắn đó là về hình ảnh 1x1 px sử dụng chuỗi giới thiệu (chuỗi truy vấn) để tính số lượt truy cập – jAndy

Trả lời

24

Bạn có thể chuyển giá trị này dọc theo: document.referrer.

Cái vẻ sẽ cần phải được đánh giá trên trang web 2, chứ không phải trên trang web 3.

Vì vậy:

// website2.html 
<img src="website3.com/pxl.gif" id="pxl" /> 
<script> 
document.getElementById('pxl').src += '?ref=' + encodeURIComponent(document.referrer); 
</script> 

Yêu cầu website3 sẽ sau đó bao gồm giới thiệu.

4

Không thể trực tiếp giới thiệu trang web2 trên trang web3. Tuy nhiên, vì bạn có thể sử dụng javascript trên trang web2, bạn có thể nhận được liên kết giới thiệu (document.referrer) và thêm nó vào url của pixel bạn nhận được. Ví dụ:

var referer = document.referrer; 
var pixelUrl = 'http://website3/pixel?referrer=' + escape(referrer); 
// create pixel... 

Hy vọng rằng sẽ giúp