#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. Спасибо за отличный ответ!