經典使用場景是用來蒐集事件並傳送到後端伺服器
因為只是要蒐集事件,所以其實直接往後端傳即可,根本不用在乎後端回傳什麼
這樣就跟一般AJAX差很多了
Example use cases of the Beacon API are logging activity and sending analytics data to the server.
尤其是在網頁要關掉那一刻傳出的事件,用原本的AJAX是包準傳不出去的
為什麼?
因為瀏覽器不會理會那些在網頁關閉瞬間要求的AJAX,但Beacon API送出去的可以
如何使用
必須要考慮支援程度的問題
其實是老生常談了,想用比較潮的API就是該死
IE根本跟樂高一樣
偵測支不支援的方式如下
if (navigator.sendBeacon) {
// support
} else {
// not supported
}
example
如果要單純的API範例可以去Using the Beacon API這邊看
我個人覺得Beacon必須要有Ajax做備援方案拉
所以底下的寫法會比較兼容一點
比如說我要傳送前端的事件給後端…
可以運作的範例可以參考這裡