Контролирует location.hash решение для истории в приложениях XHR?

'Put whatever initial value here that is appropriate.
Private dateValue As Date = Dwte.Today

Private Sub IncrementDate()
    dateValue = dateValue.AddDays(1)

    lblDate.Text = dateValue.ToString("ddd-dd-MM-yyyy")
End Sub

Как видите, анализ не требуется, поэтому вы не можете использовать недопустимую дату.

Возможно, вы захотите отобразить начальную дату в Label в обработчике событий Load формы.

Также обратите внимание, что вы используете «мм» в исходном коде, что составляет минуты. «ММ» для месяцев.

19
задан KooiInc 6 March 2010 в 03:35
поделиться

3 ответа

Я думаю, что у Вас будет хитрое время, зная, продвинулся ли пользователь или назад. Скажите, что URL запускается/myapp#page1, таким образом, Вы начинаете отслеживать состояния. Затем пользователь делает что-то для создания URL/myapp#page2 Затем, пользователь делает что-то для создания URL/myapp#page1 снова. Теперь их история неоднозначна, и Вы не будете знать, что удалить или нет.

платформы истории используют iframes для обхождения несоответствий браузера, которые Вы упомянули. Только необходимо использовать iframes в браузерах, которым нужны они.

Другой довод "против" - то, что пользователи будут всегда идти для своей кнопки "Назад" браузеров, прежде чем они пойдут для Вашей пользовательской кнопки "Назад". У меня есть чувство задержка при чтении истории, каждые 250 мс будут примечательны также. Возможно, можно сделать еще более трудный интервал, но затем я не знаю, заставит ли это вещи работать плохо.

я использовал менеджера по истории yui, и хотя это не работает отлично все время во всех браузерах (особенно ie6), это использовалось большим количеством пользователей и разработчиков. Шаблон, который они используют, довольно гибок также.

5
ответ дан 30 November 2019 в 05:07
поделиться

Существует 3 проблемы, которые имеют тенденцию портиться вместе большинством решений:

  1. кнопка "Назад"
  2. кнопка Обновить bookmarkability

window.location.hash основанные решения могут решить все три для большинства случаев: значение в hash карты к состоянию приложения/веб-страницы, таким образом, пользователь может нажать одну из "спины" / "вперед" / "обновление" и переход к состоянию теперь в хеше. Они могут также отметить, потому что значение в строке поиска изменилось. (Обратите внимание, что скрытое iframe необходимо для IE, связанного с хешем, не влияющим на историю браузера).

я просто хотел отметить однако, что iframe только решение может использоваться, не контролируя window.location.hash для очень эффективного решения также.

Google отображается, яркий пример этого. Состояние, полученное для каждого пользовательского действия, является слишком большим, чтобы быть помещенным в window.location.hash (отобразите центроид, результаты поиска, спутник по сравнению с представлением карты, информационными окнами, и т.д.). Таким образом, они сохраняют состояние в форму, встроенную в скрытое iframe. Случайно это решает [мягкую] проблему "обновления" также. Они решают bookmarkability отдельно через кнопку "Link to this page".

я просто думал, что это - Уэртинг, зная/разделяя проблемные области, о которых Вы думаете.

8
ответ дан 30 November 2019 в 05:07
поделиться

Все это важно для поддержки всего диапазона браузеров, но, надеюсь, необходимость в этом отпадет. IE8 и FF3.6 представили поддержку onhashchange . Я полагаю, что другие последуют этому примеру. Было бы неплохо проверить доступность этой функции перед использованием тайм-аутов или фреймов, так как это действительно лучшее решение на данный момент - , и оно работает даже в IE!

2
ответ дан 30 November 2019 в 05:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: