Получил работу с помощью следующего кода. ВНИМАНИЕ: может быть немного неряшливо, лол. В моем файле Announcement-Bar.liquid, непосредственно перед {% shema %}
:
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
{%- if section.settings.show_again == true -%}
<script>
$( document ).ready(function() {
if ($('.announcement-bar').length){
$( '.x' ).click(function() {
$(".announcement-bar").remove();
$("body").addClass("no-announcement-bar");
});
}
});
</script>
{%- else -%}
<script>
$(document).ready(function() {
if ($('.announcement-bar').length) {
if (localStorage.getItem('barDismissed')) {
$(".announcement-bar").remove();
$("body").addClass("no-announcement-bar");
} else {
$('.x').click(function() {
$(".announcement-bar").remove();
$("body").addClass("no-announcement-bar");
localStorage.setItem('barDismissed', true);
});
}
}
});
</script>
{%- endif -%}
Любые советы о том, как, возможно, сделать
localStorage.setItem('barDismissed', true);
истекшим через определенное время, или может быть, используя куки? Как мне это реализовать?
Я попытался заменить localStorage на файлы cookie, но теперь это помогло. Или, может быть, принудительно объявить о внесении изменений. Причина этого в том, что мы можем предоставить важную информацию для уведомления об объявлении, и посетители должны видеть эту информацию.
Или было бы проще создать кнопку свертывания, чтобы не полностью закрыть панель, а вместо этого просто сверните его, чтобы посетители могли открыть его снова?
Мысли, пожалуйста.