漂J
前端頁面沒有 template,想在每個頁面都加上 GA 的 script 引用,該用 jQuery.loadScript 還是 requireJS 還是直接加 script DOM 呢,感覺也要研究一下怎麼先等 GA 載完再送出 event
漂J
雖然也是可以簡單粗暴每一頁都貼上啦反正這前端都這樣了,但好像不妥
漂J
用 jQuery 好處是專案本身已經有引用了,所以就不會再多增加別的 Library 的重量

但後面那個問題還是要研究看看怎麼解
漂J
查了一下 GA 有 command queue,跟我印象中一樣...
但 Firebase Analytics 似乎沒有類似的設計
漂J
還是我這個假的前端不會用
漂J
暫時先用土炮的 setTimeout 做掉,但我果然是假的前端
應該有更漂亮的解法吧?
apmk@住在「劏房」的
Load google analytics after page load
loaded event就是load完了ga的script才會觸發?
漂J
apmk@住在「劏房」的 : 是,但是 Firebase Analytics 為基礎的 GA Google 後來搞得莫名其妙的東西 似乎設計又不一樣,沒有像原生 GA 這樣又可以 async 又有 command queue

Get started with Google Analytics | Firebase
l• ܫ•) Davyキュルッ
每頁都貼上啊
漂J
l• ܫ•) Davyキュルッ : 可是這樣好醜喔,我們有好幾頁要貼,每頁都要貼上那一大包 script
漂J
後來是自己自作聰明弄了一個全域變數陣列當尚未發送事件的緩衝區,如果發現尚未初始化完成,就安排在 Firebase Analytics 實體取得後,再去檢查陣列內有哪些待發送的事件
漂J
現在是沒有每頁都貼一大包,而是在已經每頁都有引用的 JS 檔 (例如 utils.js 這類共用函式庫)內多加一段讓他去動態載入 Firebase 的外部函式庫,但我也不知道這樣的作法是否恰當
l• ܫ•) Davyキュルッ
阿你沒有 template 就只能這樣了不是ㄇ
漂J
l• ܫ•) Davyキュルッ : 如果不用 JS 動態載入的方式確實只能這樣,但如果像現在這樣用 JS 動態 append 幾個 script tag 的話,就可以都統一寫在每頁共用的 JS 函式庫的那個 JS 內,不過我不確定哪一種做法比較好
l• ܫ•) Davyキュルッ
漂J
l• ܫ•) Davyキュルッ : 一大包髒還是我的做法髒
l• ܫ•) Davyキュルッ
你髒
漂J
為何
我覺得我這樣跟 template 有 87% 像啊
載入新的回覆