漂J
@floatj
好奇
Tue, Jul 21, 2020 11:19 AM
2
前端頁面沒有 template,想在每個頁面都加上 GA 的 script 引用,該用 jQuery.loadScript 還是 requireJS 還是直接加 script DOM 呢,感覺也要研究一下怎麼先等 GA 載完再送出 event
漂J
@floatj
Tue, Jul 21, 2020 11:22 AM
雖然也是可以簡單粗暴每一頁都貼上啦
反正這前端都這樣了
,但好像不妥
漂J
@floatj
Tue, Jul 21, 2020 11:30 AM
用 jQuery 好處是專案本身已經有引用了,所以就不會再多增加別的 Library 的重量
但後面那個問題還是要研究看看怎麼解
漂J
@floatj
Tue, Jul 21, 2020 2:45 PM
查了一下 GA 有 command queue,跟我印象中一樣...
但 Firebase Analytics 似乎沒有類似的設計
漂J
@floatj
Tue, Jul 21, 2020 2:45 PM
還是我這個假的前端不會用
漂J
@floatj
Tue, Jul 21, 2020 2:52 PM
暫時先用土炮的 setTimeout 做掉,但我果然是假的前端
應該有更漂亮的解法吧?
apmk@住在「劏房」的
@apmk
Tue, Jul 21, 2020 3:29 PM
Load google analytics after page load
loaded event就是load完了ga的script才會觸發?
漂J
@floatj
Tue, Jul 21, 2020 3:55 PM
apmk@住在「劏房」的
: 是,但是 Firebase Analytics 為基礎的 GA
Google 後來搞得莫名其妙的東西
似乎設計又不一樣,沒有像原生 GA 這樣又可以 async 又有 command queue
Get started with Google Analytics | Firebase
l• ܫ•) Davyキュルッ
@david50407
Sat, Jul 25, 2020 3:26 AM
每頁都貼上啊
漂J
@floatj
Sat, Jul 25, 2020 3:27 AM
l• ܫ•) Davyキュルッ
: 可是這樣好醜喔,我們有好幾頁要貼,每頁都要貼上那一大包 script
漂J
@floatj
Sat, Jul 25, 2020 3:28 AM
後來是自己
自作聰明
弄了一個全域變數陣列當尚未發送事件的緩衝區,如果發現尚未初始化完成,就安排在 Firebase Analytics 實體取得後,再去檢查陣列內有哪些待發送的事件
漂J
@floatj
Sat, Jul 25, 2020 3:30 AM
現在是沒有每頁都貼一大包,而是在已經每頁都有引用的 JS 檔 (例如 utils.js 這類共用函式庫)內多加一段讓他去動態載入 Firebase 的外部函式庫,但我也不知道這樣的作法是否恰當
l• ܫ•) Davyキュルッ
@david50407
Sat, Jul 25, 2020 3:30 AM
阿你沒有 template 就只能這樣了不是ㄇ
漂J
@floatj
Sat, Jul 25, 2020 3:33 AM
l• ܫ•) Davyキュルッ
: 如果不用 JS 動態載入的方式確實只能這樣,但如果像現在這樣用 JS 動態 append 幾個 script tag 的話,就可以都統一寫在每頁共用的 JS 函式庫的那個 JS 內,不過我不確定哪一種做法比較好
l• ܫ•) Davyキュルッ
@david50407
Sat, Jul 25, 2020 3:34 AM
髒
漂J
@floatj
Sat, Jul 25, 2020 3:57 AM
l• ܫ•) Davyキュルッ
: 一大包髒還是我的做法髒
l• ܫ•) Davyキュルッ
@david50407
Sat, Jul 25, 2020 4:27 AM
你髒
漂J
@floatj
Sat, Jul 25, 2020 4:35 AM
為何
我覺得我這樣跟 template 有 87% 像啊
載入新的回覆
反正這前端都這樣了,但好像不妥但後面那個問題還是要研究看看怎麼解
但 Firebase Analytics 似乎沒有類似的設計
還是我這個假的前端不會用應該有更漂亮的解法吧?
Google 後來搞得莫名其妙的東西似乎設計又不一樣,沒有像原生 GA 這樣又可以 async 又有 command queueGet started with Google Analytics | Firebase
自作聰明弄了一個全域變數陣列當尚未發送事件的緩衝區,如果發現尚未初始化完成,就安排在 Firebase Analytics 實體取得後,再去檢查陣列內有哪些待發送的事件我覺得我這樣跟 template 有 87% 像啊