[英]Page stop responding while loading custom javascript
我是GTM新手
function(){
if (window.matchMedia("(prefers-color-scheme: dark)").matches) {
let data = dataLayer.push({'event':'prefers-color-scheme','prefers-color-scheme':'dark'});
return data;
}
}
我已經創建了Google Universal Analytics的標簽,該標簽正在跟蹤事件並觸發第二步中發送的內容,在此步驟中,我給事件類別,操作指定了名稱,並為其添加了標簽。 我還在版本2中制作了一個數據層變量
prefers-color-scheme
我對Light重復了相同的步驟,但不受支持,但是瀏覽器似乎卡住了,我必須取消瀏覽器窗口。
我究竟做錯了什么?
通過推送到自定義javascript變量定義內的dataLayer,創建了無盡的事件循環; 每當將新數據推入dataLayer時,都會對變量進行分析。
您的“ Color Theme
變量應為:
function() {
if (window.matchMedia("(prefers-color-scheme: no-preference)").matches) {
return 2;
}
if (window.matchMedia("(prefers-color-scheme: dark)").matches) {
return 1;
}
return 0;
}
那么從技術上來說, prefers-color-scheme
可能是您的測試用例的恆定“暗”,但更一般而言,它可以是Color Theme
上的查找表:
Lookup on {{Color Theme}}
2 no-preference
1 dark
0 light
或者可以通過返回所需的顯示名稱將其作為獨立的自定義變量:
function() {
if (window.matchMedia("(prefers-color-scheme: no-preference)").matches) {
return "no-preference";
}
if (window.matchMedia("(prefers-color-scheme: dark)").matches) {
return "dark";
}
return "light";
}
通過根據需要限制對prefers-color-scheme
觸發並將其用作事件標簽的Action,可以從觸發規則中排除Theme
變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.