<?xml version='1.0' encoding='UTF-8'?>
<rss version='2.0'>
	<channel>
		<title>cotonti.com : Доработка ajaxHelper</title>
		<link>https://www.cotonti.com</link>
		<description>Son konu mesajları</description>
		<generator>Cotonti</generator>
		<language>en</language>
		<pubDate>Sun, 12 Apr 2026 14:59:30 -0000</pubDate>

		<item>
			<title>Kopusha</title>
			<description><![CDATA[<p>Что такое <code class="java plain">$.historyLoad(make_hash);<br />
У меня </code><span class="message-body-wrapper"><span class="message-flex-body"><span class="message-body devtools-monospace">Uncaught <span class="objectBox-stackTrace reps-custom-format">TypeError: <span class="objectBox objectBox-string">$.historyLoad is not a function</span></span></span></span></span></p>
]]></description>
			<pubDate>Çrş, 06 Eyl 2023 01:01:06 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post47056]]></link>
		</item>
		<item>
			<title>Dr2005alex</title>
			<description><![CDATA[<p>Есть такое... пока не знаю с чем связанно.</p>
]]></description>
			<pubDate>Paz, 03 Kas 2013 06:36:21 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post38281]]></link>
		</item>
		<item>
			<title>Macik</title>
			<description><![CDATA[<p>В последних версиях Хрома и ФФ работает. Но в ФФ была замечена интересная особенность - если страница получена через аякс подгрузку, то в истории страниц не отображается иконка сайта для таких ссылок.  <a href="http://screenshot.galaxyhost.org/img/20131009-837-65kb.jpg" rel="nofollow">Вот скрин</a> .  В хроме все ок.</p>

<p> </p>

<p> </p>
]]></description>
			<pubDate>Çrş, 09 Eki 2013 15:00:17 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post38136]]></link>
		</item>
		<item>
			<title>Dr2005alex</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums?m=posts&amp;q=7541#38120">#38120</a> <strong>Macik: </strong>
<p>Алекс, тебе на заметку  <a href="https://github.com/huboo/jquery-ajax-html5-cache" rel="nofollow">https://github.com/huboo/jquery-ajax-html5-cache</a></p>

<p>Вдруг пригодится...</p>
</blockquote>

<p>Спасибо, буду знать..</p>
<p><strong>Добавлено 1 дня спустя:</strong></p><p>ну что? потыкали? кто нибудь тестил?</p>
]]></description>
			<pubDate>Paz, 06 Eki 2013 07:24:41 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post38122]]></link>
		</item>
		<item>
			<title>Macik</title>
			<description><![CDATA[<p>Алекс, тебе на заметку  <a href="https://github.com/huboo/jquery-ajax-html5-cache" rel="nofollow">https://github.com/huboo/jquery-ajax-html5-cache</a></p>

<p>Вдруг пригодится...</p>
]]></description>
			<pubDate>Paz, 06 Eki 2013 01:14:54 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post38120]]></link>
		</item>
		<item>
			<title>Dr2005alex</title>
			<description><![CDATA[<p>Сорри))) хостинг сдох..... сейчас все норм, можно ПотыКать и ПотеСтить)</p>
]]></description>
			<pubDate>Cum, 04 Eki 2013 15:47:23 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post38107]]></link>
		</item>
		<item>
			<title>Dayver</title>
			<description><![CDATA[<p>Хотел глянуть да потыкать да вот</p>

<blockquote>
<p>Доступ к сайту ob4aga.ru прекращен</p>
</blockquote>
]]></description>
			<pubDate>Cum, 04 Eki 2013 08:44:37 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post38098]]></link>
		</item>
		<item>
			<title>Dr2005alex</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums?m=posts&amp;q=7541#38063">#38063</a> <strong>Dayver: </strong>
<p>глючит-глючит ... вот тыкнул тут по ссыле  http://dev.ob4aga.ru  крутанул до темы "Как заставить скрипт работать и после ajax загрузки страницы" тыкнул в нее .... почитал ... нажал Backspace страница подергалась в урле смотрим и видим вроде вернулись назад а тело все то же от пейджи а ведь должно было перегрузить до списка пейдже (хром, опра все последних версий)</p>

<p><strong>Добавлено 8 минуты спустя:</strong></p>

<p>тыканье в кнопку(стрелку)  назад в браузере тоже самое происходит ... блин а как красиво должно было получится ..... хотя вот о обратной совсемтимости наверное не думал? а ведь тех кто сиену юзает наверное уже немало .... или решение будет работать парально давая поддержку старому формату работы аякс истории через хеш в адесной строке?</p>
</blockquote>

<p>Упс, точно.  Посмотрюс... </p>

<p><strong>Добавлено 2 дня спустя:</strong></p>

<p>Потестил в свободное время, оказалось... что данный глук есть изначально в AjaxHelper. При возврате на страницу без хэша ничего не происходит.</p>

<p>Теперь у нас есть красивый вариант ajaxHelper. Тестируем на <a href="http://dev.ob4aga.ru/" rel="nofollow">http://dev.ob4aga.ru/</a></p>

<p>Теперь страница обновляется и при возврате назад и вперед, даже если нету хэша.</p>

<p>Рабочий на данный момент код</p>

<pre class="brush:java;">
        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( 'load', function( event ) {
			if(supports_html5(history.replaceState))history.replaceState ({main:true}, '', location.href);
			setTimeout( function(){
						$( window ).bind( 'popstate', function( event ) {

							if(supports_html5(history.state) &amp;&amp; supports_html5(history.replaceState))
							{
								if(history.state !== null  &amp;&amp; history.state.main)window.location = location;
								if(history.state !== null  &amp;&amp; history.state.rel)ajaxPageLoad(history.state.rel);
								if(history.state === null )history.replaceState ({main:true}, '', location.href);
							}
						});
			},0);
		});</pre>

<blockquote>
<p><span style="color:rgb(68,68,68);font-family:sans-serif;background-color:rgb(238,238,238);">или решение будет работать парально давая поддержку старому формату работы аякс истории через хеш в адесной строке?</span></p>
</blockquote>

<p>Данный вариант никак не изменяет работу ajaxHelper , а только маскирует его. Это означает что он работает в старом формате.</p>

<p>Скрипт просто изменяет адресс в адрессной строке на более логичный а хэш сохраняет в истории браузера. При кликанье вперед/ назад - скрипт берет данные хэша из истории браузера. Тем самым поддерживает работу ajaxHelper.</p>

<p>Единственное что я не тестировал, это работу с формами, т.к. нет никакого действующего примера использования ajaxHelper  в данной ситуации. </p>
]]></description>
			<pubDate>Sal, 01 Eki 2013 03:31:09 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post38064]]></link>
		</item>
		<item>
			<title>Dayver</title>
			<description><![CDATA[<p>глючит-глючит ... вот тыкнул тут по ссыле  http://dev.ob4aga.ru  крутанул до темы "Как заставить скрипт работать и после ajax загрузки страницы" тыкнул в нее .... почитал ... нажал Backspace страница подергалась в урле смотрим и видим вроде вернулись назад а тело все то же от пейджи а ведь должно было перегрузить до списка пейдже (хром, опра все последних версий)</p>

<p><strong>Добавлено 8 минуты спустя:</strong></p>

<p>тыканье в кнопку(стрелку)  назад в браузере тоже самое происходит ... блин а как красиво должно было получится ..... хотя вот о обратной совсемтимости наверное не думал? а ведь тех кто сиену юзает наверное уже немало .... или решение будет работать парально давая поддержку старому формату работы аякс истории через хеш в адесной строке?</p>
]]></description>
			<pubDate>Pzt, 30 Eyl 2013 20:16:33 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post38063]]></link>
		</item>
		<item>
			<title>Dr2005alex</title>
			<description><![CDATA[<p>Я предлагаю все сделать очень просто. Для тех кто пользуется старыми браузерами, эту фичу отключать и работать с  хэшем в адрессной строке. </p>

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

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

<pre class="brush:java;">
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 &amp;&amp; supports_html5(history.state) ) {ajaxPageLoad(history.state.rel); }
		});</pre>

<p>Я тут добавил функцию проверки. Поддерживает ли браузер данный оператор.</p>

<p>function supports_html5(e) {return !!e;}</p>

<p>Если поддерживает , то исполняем, ну а если не поддерживает, то смотрите на hash в адрессной строке.</p>

<p>Но ИМХО не правильно будет если усер скопирует адрессную строку с хэшем в ней и поделится с пользователем, в которой сама ссылка будет вести на страницу А а хэш на страницу Б.</p>
<p><strong>Добавлено 9 минуты спустя:</strong></p><p>обновил на сайте скрипт, можете тестить на разных браузерах.</p>
]]></description>
			<pubDate>Paz, 29 Eyl 2013 21:20:13 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post38061]]></link>
		</item>
		<item>
			<title>Macik</title>
			<description><![CDATA[<p>Тема хорошая, но…</p>

<p>`popstate` только с 10-й версии IE и ограничениями в Сафари.</p>

<p><a href="https://developer.mozilla.org/en-US/docs/Web/Reference/Events/popstate" rel="nofollow">https://developer.mozilla.org/en-US/docs/Web/Reference/Events/popstate</a></p>
]]></description>
			<pubDate>Paz, 29 Eyl 2013 21:03:11 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post38060]]></link>
		</item>
		<item>
			<title>Dr2005alex</title>
			<description><![CDATA[<blockquote><a href="https://www.cotonti.com/forums?m=posts&amp;q=7541#38055">#38055</a> <strong>esclkm: </strong><br />
А ие помладше?</blockquote>

<p>у меня его нет, если есть желание зайди на сайт <a href="http://dev.ob4aga.ru/" rel="nofollow">http://dev.ob4aga.ru</a> с младшей версии....</p>
]]></description>
			<pubDate>Paz, 29 Eyl 2013 19:52:40 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post38056]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[А ие помладше?]]></description>
			<pubDate>Paz, 29 Eyl 2013 19:10:54 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post38055]]></link>
		</item>
		<item>
			<title>Dr2005alex</title>
			<description><![CDATA[
Исправим дабы небыло ошибок



<pre class="brush:java;">
window.addEventListener('popstate', function(e){
 ajaxPageLoad(history.state.rel);
}, false);</pre>



<p>на</p>

<pre class="brush:java;">
		window.addEventListener('popstate', function(e){
		  if(history.state !== null) {ajaxPageLoad(history.state.rel); }
		});</pre>

<p> </p>
<p><strong>Добавлено 28 минуты спустя:</strong></p><p>Проверил в браузерах</p>

<p>Chrome - OK</p>

<p>Opera - OK</p>

<p>Mozilla Firefox - OK</p>

<p>Explorer 10 - OK</p>
]]></description>
			<pubDate>Paz, 29 Eyl 2013 11:44:06 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post38054]]></link>
		</item>
		<item>
			<title>Trustmaster</title>
			<description><![CDATA[<p>Есть ещё <a href="https://support.google.com/webmasters/answer/174992?hl=ru" rel="nofollow">формат AJAX-ссылок, официально поддерживаемый Google.</a></p>
]]></description>
			<pubDate>Cmt, 28 Eyl 2013 15:59:04 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post38053]]></link>
		</item>
		<item>
			<title>Dr2005alex</title>
			<description><![CDATA[В данный момент тестируется на сайте. (ссылка в первом посте). Проверяю на совместимость с другими скриптами работающих на котонти.
]]></description>
			<pubDate>Cmt, 28 Eyl 2013 07:04:12 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post38052]]></link>
		</item>
		<item>
			<title>esclkm</title>
			<description><![CDATA[Раньше это не делалось изза угадай какого браузера))))что и как и где проверено? Я 2 руками за]]></description>
			<pubDate>Cmt, 28 Eyl 2013 05:49:39 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post38051]]></link>
		</item>
		<item>
			<title>Dr2005alex</title>
			<description><![CDATA[<p>Выставляю на обсуждение небольшую доработку ajaxHelper</p>

<p>Так как ajaxHelper подставляет hash данные для ajax загрузки в адресную строку, он немного портит её вид. Она становится типа.</p>

<p><a href="http://dev.ob4aga/#get-light_page;blog/cotonti/;" rel="nofollow">http://ваш сайт/#get-light_page;blog/cotonti/;</a></p>

<p>Все это ради сохранения истории браузера, НО.... ведь можно историю переписать так, как нам надо.</p>

<p>В общем мое предложение: Что бы ссылки были того же вида каки без ajax.</p>

<p>Тоесть не <a href="http://dev.ob4aga/#get-light_page;blog/cotonti/;" rel="nofollow">http://ваш сайт/#get-light_page;blog/cotonti/;</a></p>

<p>а <a href="http://dev.ob4aga/#get-light_page;blog/cotonti/;" rel="nofollow">http://ваш сайт/blog/cotonti/</a></p>

<p>Пример данной реализации уже работает на сайте <a href="http://dev.ob4aga.ru/" rel="nofollow">http://dev.ob4aga.ru/</a></p>

<p>Предложение добавить в base.js перезапись истории с передачей данных для ajax</p>

<p>Изменим кусок кода из base.js</p>

<pre class="brush:java;">
		$('body').on('click', 'a.ajax', function() {
            var make_hash = ajaxMakeHash($(this).attr('href').replace(/#.*$/, ''), $(this).attr('rel'));
			$.historyLoad(make_hash);
            //dr2005alex
            history.replaceState ({rel:make_hash}, '', $(this).attr('href').replace(/#.*$/, ''));
            /*------------------------*/
			return ajaxError;
		});</pre>

<p>тут </p>

<pre class="brush:java;">
history.replaceState ({rel:make_hash}, '', $(this).attr('href').replace(/#.*$/, ''))</pre>

<p>Записывает данные для ajax в переменную rel и заменяет адресс на оригинальный.</p>

<p>Далее нам надо отследить событие нажатие в браузере назад и вперед.</p>

<p>Добавляем обработчик после данного кода.</p>

<pre class="brush:java;">
		window.addEventListener('popstate', function(e){
		 ajaxPageLoad(history.state.rel);
		}, false);</pre>

<p> </p>

<p>Теперь при переходе назад/вперед вызывается функция  </p>

<p>ajaxPageLoad с сохраненными в истории данными для ajax загрузки страницы.</p>

<p>Теперь мы имеем стандартые ссылки в адр. строке без хэша и работающий ajaxHelper как обычно.</p>

<p>P/S Чем вам не Вконтакте? ))) Можно теперь и плеер слушать во время прогулок по сайту....</p>
]]></description>
			<pubDate>Cum, 27 Eyl 2013 20:03:47 -0000</pubDate>
			<link><![CDATA[https://www.cotonti.com/tr/forums?m=posts&q=7541&d=0#post38049]]></link>
		</item>
	</channel>
</rss>