PDA

Просмотр полной версии : Объем переменной



MOzg
23.08.2007, 22:27
Народ, кто-нибудь знает сколько памяти выделено под переменную в JavaScript?

Могу я запихнуть в переменную, например, 20 мегабайт?

MrX
24.08.2007, 00:27
Могу я запихнуть в переменную, например, 20 мегабайт?Да Вы мазохист или извращенец, батенька.

Konstantin
24.08.2007, 01:03
стоит протестить, может быть такое, что под разными браузерами это ограничение (если есть) будет разным.

MOzg
24.08.2007, 01:09
На самом деле мне нужно сделать историю. У меня в web-приложении пользователь совершает много действий.

Вот я и думаю - как мне все его действия запомнить?

Первое что пришло мне в голову - добавлять действия в переменную. А при движении обратно - стирать!

MrX
24.08.2007, 01:17
А откуда сумасшедший размер в 20Мб взялся?

Konstantin
24.08.2007, 01:30
Думаю что можно сохранить в сессию, не думаю что это займет 20 метров, темболее что историю можно хранить частично, например за последний час (или ограничить кол-во записей в истории, например - 200, и стирать старые по мере появления новых).

MOzg
24.08.2007, 01:33
А откуда сумасшедший размер в 20Мб взялся?

Размер от балды, имел в виду, что будет большой объем....



Думаю что можно сохранить в сессию, не думаю что это займет 20 метров, темболее что историю можно хранить частично, например за последний час (или ограничить кол-во записей в истории, например - 200, и стирать старые по мере появления новых).

Мне никак нельзя историю стирать, долго объяснять почему.


А сохранить в сессию - отличная идея!

А как через JavaScript это сделать?

MrX
24.08.2007, 01:37
В JS нет сессий.

Как вариант можете отправлять значение JS-переменной на сервер, а там уже писать в базу или файл.

Konstantin
24.08.2007, 01:50
А история посещения сохраняется в пределах веб-приложения? Т.е. история посещения страниц приложения? Или каких угодно страниц?

MOzg
24.08.2007, 02:04
Это история сформированных AJAX запросов. Это пирамида(иерархия). Под каждым квадратом - еще два. На экране 3 уровня. Пользователь может перемещаться по пирамиде вниз, нажав на один из квадратов. В этот момент формируется запрос сервлету, который выдает что находится ниже и возвращает. JavaScript устанавливает другие картинки и пользователь видит, что находится ниже в пирамиде.

Мне нужно сохранять историю спуска вниз, чтобы пользователь всегда мог нажать кнопку "подняться вверх".

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

Честно говоря, я не особо знаю в чем разница между записью в переменную и в сессию(в смысле скорости). Моя цель, чтобы эта операция выполнялась быстрей!

Konstantin
24.08.2007, 02:06
Если вы делаете Get запрос, то Вы должны учитывать, тот факт, что длина Get запроса имеет ограничение (причем существенное).

MrX
24.08.2007, 02:09
ну так заносите url в сессию на сервере - никакой JS не нужен.

MOzg
24.08.2007, 02:10
У меня размер url в запросе всегда одинаковый. Я историю добавляю в другую переменную.