Как отключить Hellobar с помощью JS-кода?

Hellobar - это сборщик электронной почты. Он показывает всплывающее окно, в котором пользователи могут ввести свой адрес электронной почты, чтобы присоединиться к списку рассылки. Код JS загружается из стороннего домена hellobar.

Раньше мы могли установить определенный волшебный файл cookie с помощью кода PHP, такого как «DontShowHB», и если эти файлы cookie были обнаружены, всплывающего окна не было. Такого метода больше не существует. Это позволило нам отключить панель приветствия для определенных посетителей, которых сервер мог идентифицировать.

if (certain situation met) then
   set disable hellobar cookie => hellobar would not show
else 
   show the hellobar

Итак, мой вопрос:, если мы хотим снова отключить панель приветствия с помощью кода. Как мы можем это сделать?

(можем ли мы уничтожить объект hellobar через JS или мы можем установить определенную переменную, чтобы отключить hellobar? Длинное и короткое: как мы можем создать ситуацию, когда hellobar не запускается и остается молчаливым)

Это сценарий кода Hellobar (извините, по умолчанию он минимизирован): https://my.hellobar.com/modules-v26.js

Это код JS, который вызывает этот скрипт

    window.hellobarSiteSettings = window.hellobarSiteSettings || {
    "preview_is_active": false,
    "capabilities": {
        "autofills": false,
        "geolocation_injection": false,
        "external_tracking": false
    },
    "site_id": 123,
    "site_url": "https://example.com",
    "pro_secret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "site_timezone": "+01:00",
    "hellobar_container_css": "#CODE REMOVED FOR EASY READING#"
};
var bootstrap = function(t) {
    var e = document,
        a = e.head || e.getElementsByTagName("head")[0];
    script = e.createElement("script"), script.async = 1, script.src = t, a.appendChild(script)
};
bootstrap("https://my.hellobar.com/modules-v26.js");

Помощь приветствуется

как этот скрипт внедряется в ваш код? это расширение для браузера?

Shubham Gupta 24.09.2018 18:31

Если вы собираетесь предоставить ссылку на код, используйте неминифицированный код. Этот код не читается.

Barmar 24.09.2018 19:08

Есть сайт поддержки: support.hellobar.com

Barmar 24.09.2018 19:10

@ShubhamGupta См. Обновление моего вопроса. Barmar Sorry может отменить минимизацию внешнего кода, здесь есть украшение beautifier.io, и мы знаем, где найти поддержку. Этого вопроса нет в списке. И поэтому не ответил. Я надеюсь, что эксперт по Javascript сможет ответить на вопросы или подтолкнуть нас в правильном направлении. Это поможет многим пользователям.

snh_nl 24.09.2018 19:33

Могу ли я использовать jQuery("script[src='https://my.hellobar.com/modules-v26.js']‌​").remove(); или есть более изощренный способ?

snh_nl 24.09.2018 19:52
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
5
152
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я решил следующее и добавил этот код в нижний колонтитул.

Поскольку у нас есть мультисайт, нам нужен массив кодов HB. Код поиска. Поисковый файл cookie.

Если: оба найдены, затем пройдите через JS-код, чтобы загрузить Javascript Hellobar.

Еще: не

Кончик! Проверьте кеширование кода шаблона, где он размещен

<?php

    /**  CUSTOM CODE - HELLOBAR **/
    $hellobardomains = array(
        "example.com" => "CODEHERE",
    );
    $_hellobarcode = $hellobardomains[$_SERVER['HTTP_HOST']];

   /* Logic here on server side PHP to set Cookie "HBDismissed" to true */


?>

/* Logic here on client side JS to set Cookie "HBDismissed" to true */

var HBCode = "<?php echo $_hellobarcode; echo $_domain;?>";
var HBLoad = (YourFunctiontoGetCookies.get("HBDismissed") == null);

if (HBCode.length > 0 && HBLoad) {
    t = "//my.hellobar.com/"+HBCode+".js";
    var e = document, a = e.head || e.getElementsByTagName("head")[0];
    script = e.createElement("script"), script.async = 1, script.src = t, a.appendChild(script)
};

NB. Если команда Hellobar прочитает это. Лучшим решением было бы либо

  1. функция фильтра файлов cookie в вашем графическом интерфейсе для чтения этого файла cookie

  2. глобальная переменная, которую мы можем установить в значение true / false, которая соблюдается модулем JS

Другие вопросы по теме