Как обращаться с обновлением браузера с динамической декларацией тайника

Вот мой сценарий:

У веб-сайта есть индексная страница и много страниц содержания (ради аргумента, их называют page1 через page100), все указывающие на тот же самый тайник проявляют URL.

Индексная страница перечисляет все страницы содержания и позволяет пользователю выбрать, которые он хочет рассмотреть офлайн (Ради agrgument скажем, он выбирает страницу 1, 2, и 3). Он тогда нажимает кнопку "загрузки", которая в свою очередь отправляет назад ту же самую индексную страницу, но на этот раз декларация тайника динамично произведена и включает отобранные страницы как явные, таким образом, они все загружаются в офлайновый тайник. Он может тогда пойти офлайн и просмотреть все страницы, пока неплохо!

Теперь скажем, прежде чем он идет офлайн, он входит в page2 и нажимает кнопку обновления браузера. Это заставит декларацию тайника быть повторно принесенной. В этом пункте у декларации тайника нет контекста, таким образом, нет никакого способа, которым это может включать любые явные записи для страницы 1 или 3. Следовательно у него теперь есть page2, когда основной вход (и возможно явный также), но 1 и 3 был удален из офлайнового тайника.

Кто-либо может думать о разумном окольном пути это? Я задался вопросом о наличии отдельного URL декларации тайника для каждой страницы, но это просто чувствует себя неправильным.

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

Сохраните выбор пользователя в переменной сеанса, таким образом, вы всегда производите правильную декларацию?