簡體   English   中英

Google Analytics(分析)用戶ID返回未捕獲的ReferenceError:未登錄用戶時未定義None | 蟒蛇

[英]Google Analytics User-ID returning Uncaught ReferenceError: None is not defined when user is not logged | Python

我正在Python模板(頭部)上設置GA用戶ID的代碼。 完整的GA腳本是:

<!-- Google Analytics -->
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-HIDDENFORTHISQUESTION-1', 'auto');
  ga('set', '&uid', {{ request.user.id }});
  ga('send', 'pageview');
</script>

當resquest.user.id設置為None時,由於沒有用戶登錄該站點,我得到此錯誤:

ga('set', '&uid', None);

當用戶登錄時,我得到正確的ID號並且沒有錯誤(例如8543代表注冊用戶#8543):

ga('set', '&uid', 8543);

當user.id返回None時,如何避免此錯誤?

我相信我應該在if語句中將該行換行,以將值“ None”轉換為NULL或0,但是我的JS非常有限,我不想弄亂任何東西:)

在此先感謝您的幫助!

None不是函數的名稱,因此會發出錯誤。

在您的Python宏中創建條件:

if('{{request.user.id}}'!='None') {
  ga('set', '&uid', {{request.user.id}});
  }

PS:我不知道python,所以語法是胡說八道,但是您知道,這將解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM