Сразу отметим, что полноценного ввода-вывода информации в/из файла на диске клиентский Javascript, интерпретаторы которого услановлены на всех современных браузерах, не поддерживает по соображениям безопасности.
Однако существует возможность записывать пары типа "имя = значение" в так называемые cookie - специальные файлы, находящиеся в определенном месте на диске и используемые для сохранения некоторых данных на компьютере клиента (подробнее - см., например ).
Название, формат хранимых данных, домустимый размер, местоположение cookie-файлов зависит от используемого броузера и настроек клиента. (Для некоторых версий FireFox, например, этот файл называется "cookies.txt" и находится в настройках профиля пользователя браузера.)

1. Установка cookie.
Для установки cookie требуется выполнить обращение к объекту cookie вида:
document.cookie="имя_переменной=значение_переменной; path=путь; expires=дата";
Не вдаваясь в подробности, не существенные для дальнейшего изложения, приведем пример скрипта для установки в cookie значений переменных х и y:

<script type="text/javascript">
//    Запрос пользователю, чему будет равно х
    x= Number(prompt("x=",33));    
//    Собственно установка значения х в cookie
    document.cookie="x="+x+"; path=/; expires=Mon, 01-Jan-2020 00:00:00 GMT";    
//    Запрос пользователю, чему будет равно y
    y= Number(prompt("y=",44));    
//    Собственно установка значения y в cookie
    document.cookie="y="+y+"; path=/; expires=Mon, 01-Jan-2020 00:00:00 GMT";    
</script>

Вы можете выполнить эту программу в новом окне браузера.

Для удаления из cookie установленного значения переменной можно выполнить тот же пример, но указать expires= прошедшая_дата, например, 2010-й год:
    document.cookie="x="+x+"; path=/; expires=Mon, 01-Jan-2010 00:00:00 GMT";    
    document.cookie="y="+y+"; path=/; expires=Mon, 01-Jan-2010 00:00:00 GMT";    

2. Получение значения переменных из cookie.
Для того, чтобы просто вывести значения всех установленных cookie (для данного домена) достаточно выполнить:
    alert(document.cookie);    
или
    document.write(document.cookie);    
Но для получения значения конкретной переменной желательно "вырезать" значение этой переменной из строки вида "переменная1=значение1; переменная2=значение2; переменная3=значение3;...". Для этого можно использовать функцию read_cook из следующей программы:

<script type="text/javascript">
//    Определяем функцию получения значения переменной из cookie
    function read_cook(name)     // name - имя переменной
    {    
    xn=name+"=";    
    ln=xn.length;    
    c=document.cookie;    
    s=c.indexOf(xn);    
    if(s==-1) return ("no such a cookie");    
    else    
    {    
    e=c.indexOf(";", s + ln);    
    if(e==-1) e=c.length;    
    var x=c.substring(s + ln, e);    
    return (x);    
    }    
    }    
//    Обращаемся к функции и преобразуем полученные значения к числовым (Number)
    x=Number(read_cook("x"));    
    y=Number(read_cook("y"));    
//    Пишем ответы
    alert("x="+x+" y="+y+ " x+y="+(x+y));    
    document.write("x="+x+" y="+y+ " x+y="+(x+y));    
</script>

Вы можете выполнить эту программу в новом окне браузера.

В read_cook используются следующие стандартные функции JavaScript:
-   строка.length - определение длины строки;
-   строка.indexOf(подстрока) - определение номера инденса(символа) начала подстроки в строке;
-   подстрока = строка.substring(start, end) - выделение из строки подстроки, начиная с символа номер start и заканчивая символом номер end.




                    <<ранее             к оглавлению        далее>>

                      аналог на Fortran                        аналог на Basic                 аналог на Pascal                 аналог на C

Используются технологии uCoz