Author Topic: Диалог открывается в новом окне  (Read 6966 times)

0 Members and 1 Guest are viewing this topic.

Alexey

  • Full Member
  • ***
  • Posts: 14
    • Айкидо для всех
Диалог открывается в новом окне
« on: June 27, 2023, 11:18:01 AM »
Добрый день!

Установил свежую версию mibew:
Code: [Select]
System information
You are using:
3.6.0
Installed localizations:
en
Environment:
PHP 7.2.24 PDO/7.2.24 pdo_mysql/7.2.24 gd/7.2.24 curl/7.2.24 mbstring/7.2.24

Сервер mibew и сайт, на котором расположена кнопка на разных доменах.

Проблема в том, что теперь чат открывается в новом окне. Похоже, мне удалось найти причину:
https://mibew.org/forums/index.php/topic,192324.0.html

В связи с этим вопрос:
планируется ли исправление, чтобы чат работал внутри сайта во фрейме, не в новом окне?
Может быть есть какие-то костыли, которые позволят обойти эту проблему?

faf

  • Mibew Staff Member
  • Native
  • *****
  • Posts: 950
    • Mibew Messenger
Re: Диалог открывается в новом окне
« Reply #1 on: June 27, 2023, 03:48:24 PM »
Вообще, в теме по приведённой Вами ссылке всё написано.

Если установка Mibew Messenger и сайт, на котором расположена кнопка чата, размещены на разных доменах, то куки, используемые при работе Mibew Messenger, современными браузерами трактуются как сторонние (third-party) и могут блокироваться из-за настроек приватности. Любой обход данного поведения - это, по сути, уязвимость в браузере. Т.е. даже если способ и найдётся, он рано или поздно (скорее - рано) станет нерабочим.

Единственный штатный вариант использования фрейма в случае разных доменов - убедить пользователей принудительно разрешить в настройках приватности установку сторонних кук для домена, на котором развёрнут Mibew Messenger. Если этого не сделать, оконный режим - единственный вариант, при котором чат сохранит свою работоспособность: без кук он работать не сможет, в оконном режиме куки не считаются сторонними.

Alexey

  • Full Member
  • ***
  • Posts: 14
    • Айкидо для всех
Re: Диалог открывается в новом окне
« Reply #2 on: June 27, 2023, 10:51:00 PM »
Спасибо большое за столь быстрый и развернутый ответ!

Из разряда "А подискутировать"
Как-то же работают аналогичные сервисы? Тот же жвосайт?

Я планировал использовать один сервер для трех доменов.

Мне кажется есть такое решение:
для каждого домена прописать в DNS

A-записи вида (1.2.3.4 - ip сервера, на котором mibew размещен)
1.2.3.4 mibew.domen1.ru
1.2.3.4 mibew.domen2.ru
1.2.3.4 mibew.domen3.ru

И кнопки соответственно сгенерировать под каждый домен. 

UPD:
Протестировал свою версию, прописал А запись
Теперь домен сайта domen.ru и поддомен, на котором открывается чат (mibew.domen.ru) совпадают.
Но чат открывается все равно в новом окне.
« Last Edit: June 28, 2023, 04:14:16 AM by Alexey »

faf

  • Mibew Staff Member
  • Native
  • *****
  • Posts: 950
    • Mibew Messenger
Re: Диалог открывается в новом окне
« Reply #3 on: June 28, 2023, 08:06:49 PM »
Как-то же работают аналогичные сервисы?

Возможно, не используют куки. Не особо интересно, честно говоря.

Mibew - это не сервис, это приложение. Можно ли сделать из него SaaS-решение? Вероятно, да, но нужно дорабатывать.

Я планировал использовать один сервер для трех доменов.

Мне кажется есть такое решение:
для каждого домена прописать в DNS

A-записи вида (1.2.3.4 - ip сервера, на котором mibew размещен)
1.2.3.4 mibew.domen1.ru
1.2.3.4 mibew.domen2.ru
1.2.3.4 mibew.domen3.ru

И кнопки соответственно сгенерировать под каждый домен. 

В теории, да, должно работать. Не проверялось.

UPD:
Протестировал свою версию, прописал А запись
Теперь домен сайта domen.ru и поддомен, на котором открывается чат (mibew.domen.ru) совпадают.
Но чат открывается все равно в новом окне.

В общем случае надо смотреть консоль ошибок браузера.

Схемы (http / https), в которых работают сайт и установка Mibew Messenger одинаковы?

Alexey

  • Full Member
  • ***
  • Posts: 14
    • Айкидо для всех
Re: Диалог открывается в новом окне
« Reply #4 on: June 29, 2023, 04:35:01 AM »
Благодарю за ваш ответ!

Действительно нужно было открыть консоль разработчика и изучить какие ошибки выдаются.

Ошибка была в коде кнопки - путь к скрипту был указан неправильный, поэтому скрипт не подгружался.
Окно чата теперь открывается в фрейме основного сайта.

Единственное, что пока не удается передать фокус ввода чату, но это нужно порыться немного в документации. В остальном история с А-записями ДНС рабочая.