gpt4 book ai didi

angular - 如何在 Angular 5(SSR with Universal)中使用 Google Analytics 功能?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:35:54 26 4
gpt4 key购买 nike

我正在尝试为我的 Angular 5 网站实现谷歌分析功能。

但是这个讨论的指示:

Angular 4+ using Google Analytics

没有意义,因为在我的例子中,整个代码都在服务器端执行,而 ga 函数无法正常工作(因为它使用 DOM 元素)。

您能告诉我,在 SSR Angular 网站中使用 Google 分析的最佳做法是什么吗?

提前致谢!

最佳答案

我找到了解决方案!只需制作两个版本的站点并使用 Nginx 将机器人路由到 SSR 版本。Nginx 配置:

server {
listen 80;
server_name site.ru www.site.ru;

root /var/www/site.ru/dist/browser;
index index.html;

location / {
try_files $uri @prerender;
}

location @prerender {
#proxy_set_header X-Prerender-Token YOUR_TOKEN;

set $prerender 0;
if ($http_user_agent ~* ("Googlebot\/2.1|YandexBot|googlebot|yahoo|bingbot|baiduspider|yandex|yeti|yodaobot|gigabot|ia_archiver|facebookexternalhit|twitterbot|developers\.google\.com|spider|crawl|slurp|bot")) {
set $prerender 1;
}
if ($args ~ "_escaped_fragment_") {
set $prerender 1;
}

#if ($http_user_agent ~ "Prerender") {
# set $prerender 0;
#}
#if ($uri ~ "\.(js|css|xml|less|png|jpg|jpeg|gif|pdf|doc|txt|ico|rss|zip|mp3|rar|exe|wmv|doc|avi|ppt|mpg|mpeg|tif|wav|mov|psd|ai|xls|mp4|m4a|swf|dat|dmg|iso|flv|m4v|torrent|ttf|woff)") {
# set $prerender 0;
#}

#resolve using Google's DNS server to force DNS resolution and prevent caching of IPs
resolver 8.8.8.8;

if ($prerender = 1) {
proxy_pass http://XX.XXX.XXX.XXX:4002;

}
if ($prerender = 0) {
rewrite .* /index.html break;
}
}
}

关于angular - 如何在 Angular 5(SSR with Universal)中使用 Google Analytics 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48270049/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com