Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как отловить кнопку «Назад» (https://javascript.ru/forum/misc/37226-kak-otlovit-knopku-nazad.html)

1lider 13.04.2013 14:15

Цитата:

разве что навешивать на все действия (который могут пустить нас вперед) идентефикаторы числовые и менять якорь на #action344

и хранить текущий якорь в куках и проверять при событии "смена якоря" стал он больше чем в куках или меньше) таким образом отслеживать вперед мы перешли или назад))
Но для этого придется прослушивать hash. То есть при любом его изменении, сразу срабатывает определенная функция(и все это, без перезагрузки страницы). С помощью Кук, это делать не совсем мудро по моему, так как переменную в Кукис мы и поставим, но сразу ее считать не получится. Для этого надо будет перезагрузить страницу. А автору, я так понимаю, нужно без перезагрузок.:-)

Тест браузера на поддержку стандартов HTML5: http://html5test.com/

1lider 13.04.2013 14:20

Цитата:

п.с. а зачем ты не хочешь использовать актуальный html5 ?
если ни секрет и зачем хочешь использовать устарелые технологии)?
Для IE в любом случае придется использовать старые технологии. А так, можно было бы конечно и на HTML5.:)

В принципе, чего переживать, IE8 и выше, поддерживает отслеживание изменений hash. А тех пользователей, у кого версия браузера ниже восьмой, можно отправлять на страницу загрузки нового браузера(пусть обновляют браузер).


Событие при изменении hash:
window.onhashchange = function() {
	var hash = window.location.hash.substring(1);
	alert(hash);
}



Проверка на версию браузера IE:
var ua = navigator.userAgent;
if(ua.search(/MSIE/) > 0) {
	if((navigator.appVersion.match(/MSIE\u0020([.\d]+);/)[1]<8)) { // если версия ниже восьмой
		document.location.href='http://www.site.ru/bad_browser.html';
	}
}

devote 13.04.2013 20:08

Цитата:

Сообщение от 1lider
Проверка на версию браузера IE

ох.. зачем вы учите людей опеределять браузер по user-agent'у.. это очень плохая практика.

Цитата:

Сообщение от 1lider
Для IE в любом случае придется использовать старые технологии. А так, можно было бы конечно и на HTML5.

ну дык для таких браузеров придумано много расширений/библиотек. Одна из них написана мною: HTML5-History-API

1lider 13.04.2013 21:36

Цитата:

ох.. зачем вы учите людей опеределять браузер по user-agent'у.. это очень плохая практика.
Ну, можно так например:
var ua = navigator.appName;
	if(ua.indexOf("Microsoft") != -1) {
		alert("Это IE");
	}

:)


Часовой пояс GMT +3, время: 03:41.