Dr2005alex |
|
---|---|
Я предлагаю все сделать очень просто. Для тех кто пользуется старыми браузерами, эту фичу отключать и работать с хэшем в адрессной строке. А для продвинутых и фишку рабочую. В конце концов браузеры идут вперед и всеравно все будут поддерживать. Вобщем общий код получается такой function supports_html5(e) {return !!e;} $('body').on('click', 'a.ajax', function() { var make_hash = ajaxMakeHash($(this).attr('href').replace(/#.*$/, ''), $(this).attr('rel')); $.historyLoad(make_hash); if(supports_html5(history.replaceState)) history.replaceState ({rel:make_hash}, '', $(this).attr('href').replace(/#.*$/, '')); return ajaxError; }); $( window ).bind( "popstate", function( e ){ if(history.state !== null && supports_html5(history.state) ) {ajaxPageLoad(history.state.rel); } }); Я тут добавил функцию проверки. Поддерживает ли браузер данный оператор. function supports_html5(e) {return !!e;} Если поддерживает , то исполняем, ну а если не поддерживает, то смотрите на hash в адрессной строке. Но ИМХО не правильно будет если усер скопирует адрессную строку с хэшем в ней и поделится с пользователем, в которой сама ссылка будет вести на страницу А а хэш на страницу Б. Добавлено 9 минуты спустя: обновил на сайте скрипт, можете тестить на разных браузерах. WebKaa.ru - Cotonti Relax
|
|
Dieser Beitrag wurde von Dr2005alex (am 29. September 2013, 21:29, vor 11 Jahre) bearbeitet |