Почему бы вам не сохранить свои значения в объектах хранения HTML5, таких как sessionStorage
или localStorage
, посетите HTML5 Storage Doc , чтобы получить более подробную информацию. Используя это, вы можете временно или постоянно хранить промежуточные значения локально, а затем обращаться к ним позже.
Чтобы сохранить значения для сеанса:
sessionStorage.getItem('label')
sessionStorage.setItem('label', 'value')
или более постоянно:
localStorage.getItem('label')
localStorage.setItem('label', 'value')
Таким образом, вы можете хранить (временно) данные формы между несколькими страницами, используя объекты хранения HTML5, которые вы может даже сохранить после перезагрузки.
Интересное использование Mercurial Queues :)
Я предполагаю, что вы уже где-то используете версионирование своих ртутных очередей. Если вы этого не сделаете / для тех, кто не знает, как это сделать, посмотрите соответствующий раздел из hgbook : это отличный способ для совместной работы / постепенного сохранения вашей работы без применения исправлений. .
В вашем репозитории MQ должна быть возможность поддерживать три разных именованных ветки , по одной для каждой платформы.
Чтобы переключить платформу, просто переключите активную ветвь.
(с псевдонимом mq = 'hg -R $ (hg root) /. Hg / patches'
)
Сначала создайте ветку Windows:
$ mq branch windows
marked working directory as branch windows
создана, но еще не зафиксирована.
Сделайте кое-что, добавьте патчи:
$ hg qnew windowspatch
... do some stuff
Обновите, вставьте и зафиксируйте:
$ hg qref
$ hg qpop -a
$ mq ci -m 'new windows branch'
Теперь у вас есть ветка по умолчанию и новая ветка Windows:
$ mq branches
windows 65:5fd4ef0b96c9
default 64:06c1a56a3c08 (inactive)
Теперь создайте ветку Unix.
Сначала переключитесь обратно на базовая ветвь по умолчанию:
$ mq up default
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
Создайте новую ветку unix и добавьте специальный патч для unix:
$ mq branch unix
marked working directory as branch unix
$ hg qnew unixpatch
... blahblah
$ hg qref
$ hg qpop -a
$ mq ci -m 'adding unix branch'
$ mq branches
unix 66:c51bb2c7b413
windows 65:5fd4ef0b96c9
default 64:06c1a56a3c08 (inactive)
Не забудьте qpop -a
перед работой с репозиториями mq .. .
Вставить все исправления Windows
$ mq up windows
xx files updated, yy files merged, zz files removed, ww files unresolved
$ hg qpush -a
Поддержание трех отдельных ветвей (непрерывная очередь) может выглядеть немного пугающе. Если это так, вы можете просто использовать три разных репозитория MQ: по одному для каждой платформы, каждый из которых имеет версии в разных местах.
Например:
$ cd mqs
$ hg qclone mq-windows windows
$ hg qclone mq-unix unix
$ hg qclone mq-mac mac
Для работы на разных платформах просто переключите папки (репозитории). Концепция аналогична первому подходу.
Чтобы создать эквивалентный псевдоним Windows для «mq», создайте командный файл в том же каталоге, что и «hg.exe» (например, «C: \ Program Files \ TortoiseHg»), назовите это "mq.cmd" и вставьте этот код:
@echo off
FOR /F "tokens=1 delims=" %%A in ('hg root') do SET hgRoot=%%A
hg -R %hgRoot%/.hg/patches %1 %2 %3 %4 %5 %6 %7 %8 %9