Как отловить кнопку «Назад»
Видел варианты, когда по таймауту анализировалась адресная строка... А проще можно. Нужна функция, которая при нажатии кнопки «назад» просто выполняет заданный код
|
HTML5-History-API и событие onpopstate
|
Есть ли варианты решения этой задачи, без HTML5?
|
нет,
разве что навешивать на все действия (который могут пустить нас вперед) идентефикаторы числовые и менять якорь на #action344 и хранить текущий якорь в куках и проверять при событии "смена якоря" стал он больше чем в куках или меньше) таким образом отслеживать вперед мы перешли или назад)) |
п.с. а зачем ты не хочешь использовать актуальный html5 ?
если ни секрет и зачем хочешь использовать устарелые технологии)? |
Цитата:
В примерах что-то типа этого было: setTimeout( function() { window.addEventListener("popstate", function(e) { MainUrl=e.location || document.location; if(oldUrl.pathname==MainUrl.pathname && oldUrl.hash.substring(1,1)!='/'){ /*alert(oldUrl.pathname+'|'+MainUrl.pathname+'|'+oldUrl.hash);*/ return;} LoadMainUrl(MainUrl.href); }, false); }, 900 ); |
Цитата:
|
Цитата:
По инету много разбросано примеров работы с History API |
Цитата:
devote, музыка завораживает, кто это поет? можно ссылку на торрент альбома? |
Цитата:
|
Цитата:
Тест браузера на поддержку стандартов HTML5: http://html5test.com/ |
Цитата:
В принципе, чего переживать, 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'; } } |
Цитата:
Цитата:
|
Цитата:
var ua = navigator.appName; if(ua.indexOf("Microsoft") != -1) { alert("Это IE"); } :) |
Часовой пояс GMT +3, время: 19:01. |