Как хранить и вызывать только определенные пары параметров и значений UTM - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь получить только определенные пары значений ключей параметров UTM от входящих средств просмотра, а затем создать новую строку поиска URL для отправки дополнительных параметров строки запроса в другое место при нажатии кнопки страницы.

Вот что Входящий URL выглядит следующим образом:

https://testsite1.s3-us-west-1.amazonaws.com/index.html?utm_source=sna&utm_medium=soc&utm_campaign=pro&utm_term=us&utm_content=951431114

Мне нужно только собрать значение параметра utm_content=, но я не уверен, как правильно получить эту последнюю часть, чтобы сохранить ее. Вот что у меня сейчас есть:

 const queryString = window.location.search;
  if (queryString !== null) {
    //const p = new URLSearchParams(s);

    const queryStringParamVal = queryString[5].value; //not working?

Затем я перестрою новый URL со значением utm_content и добавлю несколько новых параметров строки запроса в URL нажатия кнопки.

const link = "https://testsite2.s3-us-west-1.amazonaws.com/index.html? " + "merchantID=12345&userID=654321&productID=" + queryStringParamVal

1 Ответ

0 голосов
/ 04 апреля 2020

Используйте регулярное выражение для анализа:

var queryString = "utm_source=sna&utm_medium=soc&utm_campaign=pro&utm_term=us&utm_content=951431114";
var utm_content = queryString.match(/utm_content=([^&]+)/)[1];
console.log(utm_content)

Вы также можете разобрать всю строку в объект:

var queryString = "utm_source=sna&utm_medium=soc&utm_campaign=pro&utm_term=us&utm_content=951431114";
var parameters = Object.fromEntries(queryString.split("&").map(el => el.split("=")));
console.log(parameters)
console.log(parameters.utm_content)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...