Возможен ли Запуск ява-скрипт при откате Истории в браузере назад ?
Возможен ли Запуск ява-скрипт при откате Истории в браузере назад ?:help:
|
Ну то есть вы думаете, что те, кто не в контексте вашей задачи, поняли, что вам надо?
|
речь наверно о History API ну или можно отловить нажатие кнопки back через событие popstate
|
devote, Ну собственно наверно так
Не посоветуете, где прочитать про событие popstate, и интересует кроссбраузерность, |
Собственно задачи две:
1-я. На маййб(бесплатные форумы без доступа к движку) анализирую у новичков форму отправки сообщений на спам, при наличии спам ссылок, добавляю при субмите метку в тот же textarea, страница обновляется и выводится в этом же окне(это всё в компетенции движка) при возможном возврате пользователя на предыдущую страницу желательно метку удалить. 2-я задачка - несколько сложнее... |
Хотя бы пример с запуском алерт при переходе на страницу назад ???
|
на вот не мучайся, наколенный вариант, но должен работать:
(function( window ){ var eventType = window.addEventListener ? [ "addEventListener", "" ] : [ "attachEvent", "on" ], previousePage = "", handler = []; window[ eventType[ 0 ] ]( eventType[ 1 ] + "load", function(){ if ( window.name && window.name !== location.href ) { previousePage = window.name; for( var i = 0; i < handler.length; i++ ) { handler[ i ]( previousePage ); } } window.name = location.href; }, false ); document[ eventType[ 0 ] ]( eventType[ 1 ] + "click", function( e ) { e = e || window.event; // если был клик по ссылке, if ( ( e.target || e.srcElement ).nodeName === "A" ) { // то очистим window.name что бы не сработало событие при загрузке window.name = ""; // обратно заполним window.name если ссылка не сделала переход в течении секунды. setTimeout( function() { window.name = location.href; }, 1000 ); } else { // навсякий случай заполним window.name при клики на других тегах window.name = location.href; } }, false ); window.trackingHistory = function( listener ) { if ( previousePage ) { listener( previousePage ); } else { handler.push( listener ); } } })( window ); trackingHistory(function( previousPage ) { alert( "Сделали переход по истории, со страницы: " + previousPage ); }); |
devote, Спасибо! (Плусы зажал сайт
Да мну вродь и я сельским методом чот реализовал (я смотрел Ваш бронепоезд на хабре, :lol: Ыы для моей задачи проще забыть про тот скрипт) - прост сам скрипт теста спама - десяток строк ... Этот Конечно покороче хабра ( Потещу сейчас СПС... |
Поправил немного код, скопируй заного
|
Пасиб ... Ксать у мну тож часто (работаю в тех поддержке ... ну оторвут от кофе, как ток сядешь пить - то кавычку забыл, то лишний тег вставил
|
Часовой пояс GMT +3, время: 09:09. |