удалить письмо из строки URL Javascript - PullRequest
0 голосов
/ 20 февраля 2020

Мое намерение

Мое намерение состоит в том, чтобы НЕ позволять пикселю Facebook получать электронное письмо, упомянутое в строке URL, которая является основной целью. Я хотел бы решить эту проблему, используя, например, Custom Javascript в Диспетчере тегов Google до запуска пикселя Facebook.

Мой вопрос

Я пытаюсь удалить часть сообщения электронной почты из URL, передаваемого Facebook через пиксель Facebook. Я не разработчик, и пиксель Facebook используется через GTM. Я вижу, что приведенная выше строка запускается, например, в местоположении. href, document.location.href и window.location.href

Моя проблема

Строка URL-адреса, которую я хотел бы изменить (обратите внимание, что из URL-адреса удалены важные части):

https://booking.company.com/# / нет / оплата / принят? = 5900 & декоратора = отзывчивым & OrderID = dontmindme & торговцем = dontmindme & ordertext = Бронирование% 20nr:% 209689228 & flexwin_cardlogosize = 1 & StatusCode = 12 & Transact = dontmindme & cardnomask = dontmindme & cardexpdate = dontmindme & capturenow = 1¤cy = 578 & md5key = 022b61cc5d7d3937e2db03b91aa51559 & CallBackURL = HTTPS:% 2F% 2F * тысяча тридцать-шесть * -prod-эт c .carus.com% 2Fcardibsd2% 2FDibsD2% 2FPayResp¤cyalpha = NOK & LANG = нет и paytype = VISA & cancelurl = https:% 2F% 2Fbooking.company.com% 2Fbservice% 2Fno% 2FPaymentReturn% 2FRedirect% 2Fcancelled & email=remove@this.com

Код

function removeEmail(url, window.location.href) {

        var urlparts = url.split('&Email');{

        var prefix = encodeURIComponent(window.location.href) + '&Email';
        var pars = urlparts[1].split(/[&;]/g);


        return urlparts[0];
    }
    return url;
}

РЕДАКТИРОВАТЬ (20.02.2020):
- Произведена некоторая настройка комментарии, основанные на отзывах
- добавлен код (код основан на этом вопросе: Как я могу удалить параметр строки запроса в JavaScript? )

Я знаю, что лучший решение состоит в том, чтобы исправить это в бэкэнде, но исправление в бэкэнде займет очень много времени, поэтому я ищу временное решение, чтобы соответствовать GDPR, et c.

1 Ответ

0 голосов
/ 21 февраля 2020

window.location.hash = window.location.hash.replace(/&email=[^&]+/, '')) должен сделать трюк.

Это заменит &email=… в значении URL ha sh пустой строкой и назначит его в качестве нового ha sh.

Пока это происходит до того, как пиксель Facebook инициализируется, он должен заставить его читать URL без значения адреса электронной почты.

...