Comments 26
UFO just landed and posted this here
у меня весь домен jivosite.com заблочен целиком
+2
Ctrl+Shift+I
(в FF) -> Adblock Plus (вкладка) -> Show items of SCRIPT (выпадающее меню). Блокируем по очереди, нажимаем кнопку справа «Block item». Правило: ||code-jvs.jivosite.com/widget.js
0
Как вариант — через файл hosts.
0
UFO just landed and posted this here
Будет ли чат надоедливым или нет, зависит от того как его настроить, аналогично тому, как в одном оффлайн магазине вас может донимать продавец-консультант, а в другом магазине вы будете спокойно выбирать товар и при необходимости, сами обратитесь к нему.
Dimox уже ответил выше.
Dimox уже ответил выше.
0
На мобильных сайтах он надоедлив всегда. Это большая, как правило мигающая кнопка поверх страницы, мешающая просмотру содержимого.
Будьте людьми, реализуйте возможность пользователю её убрать (кроме пунктов позвонить/написать — "спрятать кнопку").
А то надимаешь, посылаешь хозяев сайта в пешее эротическое и закрываешь со страницей вместе.
0
А главное, они это вечно-дергающую всплывашку периодически включают самовольно "в подарок" с утверждениями что она круто повышает конверсии. Только по отзывам аудитории она очень бесит, особенно на мобилках.
+4
В общем и целом да, бесит эта штука на сайтах, но за статейку kudos! Мельком пробежался, много интересного. Дома внимательнее почитаю.
+3
да-да — очень интересует статистика живых / полезных операторов, которые таки отвечают на вопросы посетителей сайтов.
+2
Мы не используем ботов, у нас отвечают только «живые» операторы, мы уделяем много внимания качеству обслуживания. Например измеряем среднее время ответа оператора, кол-во времени проведенное в онлайн, процент положительных оценок диалога и тд. Об этом подробнее мы расскажем в след. статье, чтобы развеять основные мифы.
0
Сириосли? Тогда почему ни на одном сайте ни разу мне не смогли ответить и всегда весь диалог сводится к оставьте телефон, мы перезвоним?
+2
Скорее всего в тот момент времени операторов не было в сети и контактные данные нужны были, чтобы с вами смогли связаться позже, когда операторы появятся в сети.
0
UFO just landed and posted this here
Смотрите, как это работает. Мы предоставляем сервис — это чат на сайт (на самом деле гораздо больше, но сейчас мы говорим именно о чате), который можно очень гибко настраивать. Как его настраивать (какое задавать рабочее время, какие активные предложения, время на странице, после которого срабатывает активное приглашение, звуки чата и т. д.), решают наши клиенты (владельцы сайтов) самостоятельно. Если не задано время работы, чат может быть онлайн круглосуточно, но ответить вам будет некому. Главное — у нас нет ботов, в принципе нет такого инструмента, по ту сторону чата всегда живые люди. Их квалификация и способность помочь — уже ответственность каждого конкретного нашего клиента. При этом у нас есть гайдланы, рекомендации по скорости ответа на входящие сообщения, по уровню оценок и куче других параметров. Но опять же, заставить их соблюдать каждого из 270 тысяч наших клиентов мы не можем и не будем, мы можем лишь рекомендовать.
0
Какой нужен штат операторов, чтобы обслужить, как Вы написали выше, 1М коннектов?
0
1М коннектов — это то, с чем приходится иметь дело нам, как компании, предоставляющей сервис. Это число складывается из контактов на 270 тысячах сайтов (на стольких установлен наш виджет). Соответственно, число операторов каждый клиент определяет самостоятельно, в соответствии со своими возможностями и потребностями. У самых крупных наших клиентов — по несколько сотен операторов.
0
В коде file.js можно выбросить специальное «фейковое» исключение, обернутое в try/catch
А что, new Error().stack недостаточно?
P.S. Присоединяюсь ко всем тем, кого бесят всплывающие чатики на сайтах. Правда, не отслеживал, ваше ли это.
+2
Я так и не понял «как правильно подключить скрипт на сторонний сайт» — на каком варианте вы остановились? А то везде минусы и баги…
0
Спасибо за статью, как раз делаем подобную штуку. Возникает пару вопросов.
1) На случай, если ваш сервис недоступен, чтобы не ломать партнёрский сайт, у которого есть скрипты завязанные на событие 'load', вы в коде вставки инициализируете сервис/виджет после этого события.
В нашем случае — код вставки (в конце body) добавляет в head страницы тег script, который асинхронно скачивает код запуска, и после чего партнёр отдельным кодом инициализирует виджет (типа WIDGET_NAME.init() ). Так вот, а как грамотно отследить окончание скачивания кода запуска, чтобы не вызвать WIDGET_NAME раньше времени когда он ещё = undefined? Учитывая, что само событие 'load' уже наступило, т.к. мы только после него начали грузить наш код (чтоб не ломать партнёрский сайт как описано выше).
2) Второй вопрос. Вы как-то отслеживаете блоки вне основного потока документа, у которых завышенный z-index? Высчитывае ли как-то этот z-index, чтобы своему виджету присвить значение чуть больше? Или просто на угад установили кучу девяток?)
Решение
<script type='text/javascript'> (function(){ var initCode = function () { // insert script tag }; document.readyState === 'complete' ? initCode() : w.addEventListener('load', initCode, false); })(); </script>
Решение простое, надо подписаться на событие полной загрузки сайта и только потом загружать скрипт, для этого надо использовать код-вставки, а не тег script.
1) На случай, если ваш сервис недоступен, чтобы не ломать партнёрский сайт, у которого есть скрипты завязанные на событие 'load', вы в коде вставки инициализируете сервис/виджет после этого события.
В нашем случае — код вставки (в конце body) добавляет в head страницы тег script, который асинхронно скачивает код запуска, и после чего партнёр отдельным кодом инициализирует виджет (типа WIDGET_NAME.init() ). Так вот, а как грамотно отследить окончание скачивания кода запуска, чтобы не вызвать WIDGET_NAME раньше времени когда он ещё = undefined? Учитывая, что само событие 'load' уже наступило, т.к. мы только после него начали грузить наш код (чтоб не ломать партнёрский сайт как описано выше).
2) Второй вопрос. Вы как-то отслеживаете блоки вне основного потока документа, у которых завышенный z-index? Высчитывае ли как-то этот z-index, чтобы своему виджету присвить значение чуть больше? Или просто на угад установили кучу девяток?)
сброс стилей
может кому будет полезно, подсмотрел на докладе — сброс стилей для встаиваемых виджетов на «вражеские» сайты:
#mydiv {
all: initial; /* blocking inheritance for all properties */
}
#mydiv * {
all: unset; /* allowing inheritance within #mydiv */
}
#mydiv::before,
#mydiv::after,
#mydiv *::before,
#mydiv *::after {
all: unset;
}
0
1) Без модификации кода инициализации никак. Например можно обернуть WIDGET_NAME.init() в функцию, которою будет вызывать ваш код, после загрузки или объявит параметры которые передаются в init в глобальную переменную из которой ваш код будет их читать после загрузки.
2) Нет, мы прописываем максимальный z-index: 2147483646
3) Мы использовали unset, но в некоторых мобильных и старых Chrome'ум браузерах это вызывает баги рендера, в итоге мы переделали на «стандартный» сброс.
2) Нет, мы прописываем максимальный z-index: 2147483646
3) Мы использовали unset, но в некоторых мобильных и старых Chrome'ум браузерах это вызывает баги рендера, в итоге мы переделали на «стандартный» сброс.
0
Чем ошибки собираете? Что-то типа sentry или все свое?
0
Sign up to leave a comment.
Как подключить скрипт на сторонний сайт