Foren / National / Russian / Идеи / Доработка ajaxHelper

Dr2005alex
#38061 29. September 2013, 21:20

Я предлагаю все сделать очень просто. Для тех кто пользуется старыми браузерами, эту фичу отключать и работать с  хэшем в адрессной строке. 

А для продвинутых и фишку рабочую. В конце концов браузеры идут вперед и всеравно все будут поддерживать.

Вобщем общий код получается такой 

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 10 Jahre) bearbeitet