前沿
為什么請求數據埋點的時候用透明的GIF 圖片呢?
我也是查閱了相關資料,知道這樣的好處:
從下面幾個點出發:
1. 沒有跨域問題,一般這種上報數據,代碼要寫通用的,img 天然支持跨域;(排除 ajax)
2.不會阻塞頁面加載,影響用戶的體驗,只要 new Image 對象就好了, 通過它的onerror和onload事件來檢測發送狀態;(排 除 JS/CSS 文件資源方式上報)
3.在所有圖片中,簡單、安全、相比PNG/JPG體積最小;(比較 PNG/JPG)(tip:最小的BMP文件需要74個字節,PNG需要67個字節,而合法的GIF,只需要43個字節)
舉個例子:
let _img = new Image(); _img.src = "https://example.com/aaa?a=1&b=2"