AndrewBoeing
@AndrewBoeing
Начинающий и упорный программист )

Как сделать ручной редирект на определенную страницу?

Суть такая: есть саппорт-чат (онлайн-чат) на сайте интернет-магазина. Он самописный со всеми исходниками.
При общении с посетителями, нужно некоторых отправлять на определенные страницы.

Приведу пример:
П – покупатель
К – консультант
--------------
К: Здравствуйте! Я могу вам помочь с выбором?
П: Да, я ищу красные розы, 110 см. Не могу найти.
К: Давайте я перенаправлю вас на страницу товара?
П: Да, конечно, спасибо большое!
--------------
Ну, как-то так. Для чего это нужно, думаю, стало понятно.

Как такое реализовать? Записывать сессию клиента, использовать ее как id и по нему делать GET-запрос?
Я не сталкивался с этим, даже не знаю куда копать. Помогите, пожалуйста )
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
@MikUrrey
Думаю, лучше всего сделать так: каждое сообщение сделать (если еще не сделано) объектом, в котором будет приходить тип, например text или command.
text выводится клиенту, command выполняется браузером.
//Где-то в недрах кода ждем команды...
document.addEventListener("commandFromChat", function(e) {
  switch(e.detail.command) {
    case "goto": return document.location.href = e.detail.payload;
    case "somethingElse":  break; //можно обрабатывать разные команды
  }
});

//Нам письмо!
let message = {
  "type":  "command",
  "command":  "goto",
  "payload":  "https://flowers.shop/красные-розы-100-см.html"
};

//Получая команду, браузер инициирует событие, например так:
if (message.type === "command") {
  let event = new CustomEvent("commandFromChat", { "detail": message});
  document.dispatchEvent(event);
}


Таким образом можно чат превратить в инструмент исполнения любых желаний покупателя менеджером)

Только не забудьте о безопасности, чтобы П не превратился в объект развлечения для К :))
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы