在我們的Angular.js項目中,當發佈本地化內容時,我遇到了一個問題,也就是說,如果本地化HTML字符串中存在本地的-s,谷歌分析打破他們。谷歌Analytics(分析)打破了Angular.js項目中的發射鏈接
特別是,就在那一刻我點擊鏈接(帶有鼠標按鈕)改變
<a href="https://my-site.com/#!/path/to/somewhere">
成類似
<a href="https://my-site.com/?_ga=1.42271222.21175886562.1384128808#!/path/to/somewhere">
。在檢查DOM時,我可以看到我尚未觸及的鏈接完全有效,而我右鍵單擊以選擇「檢查」彈出式菜單項的鏈接以上述方式中斷。
UPD:問題解決了。 解決方案:儘可能使用相對鏈接。如果您正在調試您的站點,其地址與真實地址不同,因此在調試版本中,顯式地將實際站點地址的絕對鏈接視爲跨域。
尤其是上面的鏈接
<a href="https://my-site.com/#!/path/to/somewhere">
應該已經改爲
<a href="/#!/path/to/somewhere">
確實,問題是由於GA試圖將其跨域跟蹤邏輯應用於我的鏈接引起的。唯一讓我困惑的是,所有鏈接都應該導致我們自己的網站,根本沒有跨域目的地。經過一番研究,發現發射器代碼中存在一些絕對鏈接,當然,在本地調試時,站點地址爲localhost:%port%/,因此my-site.com的鏈接被認爲是交叉-域。 – Thehx