В настоящее время я использую фреймворк Zurb, я хотел бы создать модальный, который появится при загрузке страницы. Я бы хотел, чтобы этот модальный файл хранил куки-файлы в пользовательском браузере, чтобы, если они посетили сайт, прежде чем они не будут показаны снова и снова.Магазин показывает модальный файл cookie в браузере пользователя
Вот как я попытался реализовать это, используя jQuery, который используется для инициализации основания. Примечание. Я использую оболочку jQuery no conflict, потому что я реализую ее с помощью нажатия слова.
jQuery(document).ready(function($){
$('#myModal2').foundation('reveal', 'open');
var shown = $.cookie('dialogShown');
if (!shown) {
setTimeout(function() {
$('#myModal2').foundation({modal: true});
$.cookie('dialogShown', 'true');
}, 2000);
}});
Этот код не дает мне желаемый результат, модальное открывается при загрузке страницы снова и снова, без сохранения куки, я был бы очень признателен, если кто-то может помочь мне с этим. Спасибо
Спасибо @pavelloz Я довольно новичок в javascript, так как я понимаю, что мне нужно было бы поставить другую инструкцию if, чтобы проверить, отображается ли модальная коробка. 'if (показано === null) { // Ничего не делать } if (jQuery.cookie ('open')) { // Реакции }' Am i на правильном пути? – steamfunk
jquery-cookie/[js-cookie] (https://github.com/js-cookie/js-cookie) возвращает 'undefined', когда файл cookie не найден. Поэтому вам нужно проверить «undefined» вместо «null». Если фундамент не использует устаревшую версию veeery. –
@steamfunk, напишите себе список вещей, которые программа должна делать (пишите, а не думайте), например: 1) Проверьте, присутствует ли cookie 'show' (IMO нет необходимости в определенных значениях, undefined vs что-нибудь еще делать) 2) Если нет, покажите модальный 2a) Set cookie 3) Если да, верните Если у вас есть такой список, гораздо проще его расширить в код. Через некоторое время вы будете писать эти предложения в псевдокоде, а затем в живом коде. То, как мы изучаем языки :) – Pavelloz