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");
Помощь приветствуется
Если вы собираетесь предоставить ссылку на код, используйте неминифицированный код. Этот код не читается.
Есть сайт поддержки: support.hellobar.com
@ShubhamGupta См. Обновление моего вопроса. Barmar Sorry может отменить минимизацию внешнего кода, здесь есть украшение beautifier.io, и мы знаем, где найти поддержку. Этого вопроса нет в списке. И поэтому не ответил. Я надеюсь, что эксперт по Javascript сможет ответить на вопросы или подтолкнуть нас в правильном направлении. Это поможет многим пользователям.
Могу ли я использовать jQuery("script[src='https://my.hellobar.com/modules-v26.js']").remove(); или есть более изощренный способ?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я решил следующее и добавил этот код в нижний колонтитул.
Поскольку у нас есть мультисайт, нам нужен массив кодов 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 прочитает это. Лучшим решением было бы либо
функция фильтра файлов cookie в вашем графическом интерфейсе для чтения этого файла cookie
глобальная переменная, которую мы можем установить в значение true / false, которая соблюдается модулем JS
как этот скрипт внедряется в ваш код? это расширение для браузера?