我在javascript中創建一個像素圖像,方法是創建圖像標記並將其注入到DOM中。如何使用HTML圖像請求將數據發送到服務器,或返回數據作爲迴應
標籤看起來是這樣的:
<img style="height:0;visibility:hidden;display:none;" src="http://xyz.com/pixel.aspx">
正如你所看到的,這個標籤會實際調用一個ASP.Net頁面,這將做一些處理和回寫這樣的像素:
byte[] _imgbytes = Convert.FromBase64String("R0lGODlhAQABAIAAANvf7wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");
Response.ContentType = "image/gif";
Response.AppendHeader("Content-Length", _imgbytes.Length.ToString());
Response.Cache.SetLastModified(DateTime.Now);
Response.Cache.SetCacheability(HttpCacheability.Public);
Response.BinaryWrite(_imgbytes);
我需要的是一種方法,無論是通過一小片數據的(在像素請求之前的JavaScript生成的GUID值)發送到服務器或通過在所述像素的aspx代碼生成一些數據(不同的GUID )回到額頭ser以某種方式可以通過javascript獲取。
注意事項:
- 不能使用查詢字符串,因爲像素必須是可緩存的,如果查詢字符串是不同的像素不會從瀏覽器緩存(文件名會有所不同)拉在後續請求。
- 無法使用cookie,像素請求位於與應用程序不同的根域,並且在禁用第三方cookie的情況下需要此功能。
- 無法使用AJAX,因爲不想擔心跨域問題
頁面上有多少圖片?他們會有不同的指導嗎? – 2012-08-09 22:05:09
每頁只有一個圖像。就緩存而言, – EkoostikMartin 2012-08-09 22:07:16