JavaScript: создать переменную из части useragent - PullRequest
0 голосов
/ 16 мая 2018

Итак, у меня есть киоски в магазинах под управлением Sitekiosk, на этих киосках я добавляю useragent как utm_source к URL-адресам на странице для отслеживания в Google Analytics. У нас есть sitekiosk, передающий имя машины в пользовательском агенте, например

utm_source=Mozilla/5.0%20(Windows%20NT%206.1;%20WOW64;%20Trident/7.0;%20rv:11.0;%20SiteKiosk%209.5%20Build%204117;%20MACHINE10%20shopkiosk)

MACHINE10 является идентификатором киоска в магазине.

Использовать этот полный userragent для добавления в URL было легко. Я создал переменную из useragent и добавил ее в URL:

var machine=navigator.userAgent;

Длинный utm_source подобный этому не очень удобочитаем в Google Analytics (и портит мои отчеты), поэтому я ищу способ не добавлять полный useragent, а только часть MACHINE10.

Есть ли способ использовать только ту часть useragent в переменной? Одна проблема здесь заключается в том, что не все машины имеют 2 цифры в названии, некоторые имеют 3 цифры. Остальная часть useragent одинакова для всех машин.

1 Ответ

0 голосов
/ 16 мая 2018

Регулярное выражение для захвата номера машины:

//Looks through the string until it finds the word MACHINE, then captures
//any amount of digits up to hitting the percentage sign
const regEx = /.*?MACHINE(\d+)%.*?/;
//Grab the capture groups
const captures = regEx.exec(navigator.userAgent);
//Set the last capture group value to variable which is the machine #
const machineNum = captures[captures.length - 1];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...