Разработка страницы настроек, которая будет сохраняться локально

#javascript #html #css #load #save

#javascript #HTML #css — файл #нагрузка #Сохранить

Вопрос:

Мне нужно руководство по концепции, которая сделала бы мой проект действительно приятным.

Я создаю страницу с некоторыми параметрами для изменения фонового изображения, цветов границ таблицы, цветов фона текстовой области и т.д. Пользователь может выбирать эти параметры и должен иметь возможность сохранять их.

Я не могу использовать базу данных для сохранения этих настроек, потому что это рабочая компьютерная система, и они этого не позволят, поэтому я думаю, что могу сохранить настройки локально в текстовый файл и просто загрузить его обратно, когда кто-нибудь снова войдет на страницу (вход осуществляется через htaccess).

Я знаю, что для этого требуется более одной вещи, но мне могла бы понадобиться помощь с очень простой версией того, как это сделать (выбрать параметры, сохранить изменения, загрузить [отобразить]).

Извините, если это слишком много, я знаю, как будет приятно, если я смогу реализовать простую концепцию.

Спасибо! -Sorv

Комментарии:

1. Обычно у вас нет доступа к файловой системе на стороне клиента, но есть клиентские базы данных, localStorage и cookies, которые кажутся более подходящими для этого.

2. Вы можете использовать cookies или localStorage на компьютере пользователя. Недостатком этого является то, что настройки не следуют за пользователем, если у них несколько компьютеров.

3. Спасибо за ответы. @adeneo У нас есть доступ к некоторым локальным файлам. Я знаю это, потому что мне удалось сохранить и загрузить php локально. »

4. @jeff Это правда, что если бы они использовали другую машину, они потеряли бы свои настройки, но у каждого есть свой рабочий стол, и это не имеет большого значения, если они переедут.

5. вот идея, я понятия не имею, как это сделать, но это может помочь кому-то с большим знанием получить ответ. Вы могли бы сохранить настройки в файле notepad.css с предустановленным именем и связать новую страницу с HTML, который содержит настройки. Документ CSS должен загружаться локально при входе пользователя в систему. Я понятия не имею, возможно ли это, но я хотел бы это увидеть!

Ответ №1:

Используйте файлы cookie. Вы можете сделать это на стороне сервера или клиента.

Javascript

Если вы используете jquery:

 function setbgsetting(color){
    $.cookie("background", color);
}
function loadbg(color){
    var bg = $.cookie("background");
    if (bg)
        $('body').css("background-color", bg);
}
  

PHP

 function setbgsettings($color){
    $_COOKIE["background"] = $color;
}

// as PHP code in style tags, or style css
if (isset($_COOKIE["background"]))
    echo "background-color: ". $_COOKIE["background"].";";
  

В качестве альтернативы вы могли бы добавить session_start (); в начало любой страницы и заменить COOKIE на SESSION.

Комментарии:

1. насколько я знаю, это будет работать, только если они каждый раз используют один и тот же компьютер

2. Исправьте. И тот же браузер.

3. Да, и это нормально, по одному человеку на стол, использующему один и тот же браузер. Есть ли альтернатива php? Я могу работать с этим, просто любопытно.

4. <style> background: <?=( isset( $_COOKIE[‘background’] ) ) $_COOKIE[‘background’]; ?> </style> И установите $_COOKIE на странице настроек

5. что $_COOKIE может хранить массив, да? Для каждого элемента страницы будет несколько настроек (bgcolor / image, table border, textarea bg и borders), поэтому мне интересно, нужен ли мне файл cookie для каждого из них или все они могут быть сохранены в одном файле cookie. Спасибо за отличный ответ!