2010-06-08 3 views
0

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

Я знаю, я могу использовать ajax для загрузки фрагмента контента. Но я хочу присоединить эту функцию ajax, когда пользователь нажимает кнопку обновления или нажимает F5 или нажимает Ctrl + F5.

ответ

9

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

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

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

+0

Ну, вы правы, но какое-то содержимое, которое должным образом загружено, не нужно перезагружать, например, меню, баннер, зачем нам перезагружать его? – Starx

+1

@Starx - Вы можете предоставить значок обновления какого-то рода * в * вашей странице, но не пытайтесь переопределить основные функции браузера. –

+2

@Starx: Вот почему браузер будет их кешировать. Это не ваша проблема. – Anthony

Смежные вопросы