как вы наверное знаете последние версии DataLife Engine поддерживают включение навигации по страницам при помощи технологии AJAX. Но многие отказываются от этой возможности по причине того что страница не обновляется и резко падают показания счетчиков и число хостов совпадает с числом хитов, также теряется статиcтика по посещениям страниц. Это связано с тем что все счетчики использую для вывода javascript кода функцию document.write которая несовместима с технологией AJAX т.к. выводит информацию в текущую позицию документа, а при использовании AJAX документ уже в браузере. На самом деле использование счетчиков возможно, но тут необходимы небольшие знания javascript чтобы сделать счетчики совместимыми с технологией AJAX, в данной статье я постараюсь объяснить вам как это можно сделать
Итак возмем для примера простой счетчик:
<script Language="javascript">
<!--
Nnv=navigator;Nna=Nnv.appName;Nd=document;Nd.cookie="b=b";Nc=0;if(Nd.cookie)Nc=1;
Nn=(Nna.substring(0,2)=="Mi")?0:1;Ns=screen;Npx=(Nn==0)?Ns.colorDepth:Ns.pixelDepth;
str='<img src="http://warlog.info:8081/126;'+Ns.width+'x'+Ns.height+';'+Npx+';'+Nc+';';
str=str+escape(Nd.referrer)+';'+Math.random()+'" width="88" height="31" border="0">';
document.write("<a target=_blank href=http://warlog.info/cgi-bin/cshow>"+str+"</a>");
// -->
</script>
Этот код мы получили после регистрации на сайте, и теперь нам необходимо вставить его на все страницы своего сайта.
Открываем файл шаблона main.tpl и добавляем в нужном нам месте где будет стоять счетчик следующий код:
<div id="dle-counter"><script Language="javascript">
<!--
Nnv=navigator;Nna=Nnv.appName;Nd=document;Nd.cookie="b=b";Nc=0;if(Nd.cookie)Nc=1;
Nn=(Nna.substring(0,2)=="Mi")?0:1;Ns=screen;Npx=(Nn==0)?Ns.colorDepth:Ns.pixelDepth;
str='<img src="http://warlog.info:8081/126;'+Ns.width+'x'+Ns.height+';'+Npx+';'+Nc+';';
str=str+escape(Nd.referrer)+';'+Math.random()+'" width="88" height="31" border="0">';
document.write("<a target=_blank href=http://warlog.info/cgi-bin/cshow>"+str+"</a>");
// -->
</script></div>
где
<div id="dle-counter"></div>
это просто идентификатор места где расположен счетчик чтобы мы его могли в дальнейшем найти на странице.
Теперь отрываем файл engine/ajax/pages.php и именно этот файл отвечает за вывод страниц при помощи AJAX и в самом низу перед:
?>
Добавляем следующий код:
echo <<<HTML
<script Language="javascript">
<!--
Nnv=navigator;Nna=Nnv.appName;Nd=document;Nd.cookie="b=b";Nc=0;if(Nd.cookie)Nc=1;
Nn=(Nna.substring(0,2)=="Mi")?0:1;Ns=screen;Npx=(Nn==0)?Ns.colorDepth:Ns.pixelDepth;
str='<img src="http://warlog.info:8081/126;'+Ns.width+'x'+Ns.height+';'+Npx+';'+Nc+';';
str=str+escape(Nd.referrer)+';'+Math.random()+'" width="88" height="31" border="0">';
document.getElementById('dle-counter').innerHTML = "<a target=_blank href=http://warlog.info/cgi-bin/cshow>"+str+"</a>";
// -->
</script>
HTML;
Что мы сделали, а сделали мы простое: Мы заменили функцию document.write(""); в счетчике на document.getElementById('dle-counter').innerHTML = ""; чтобы выводить счетчик не в текущую позицию документа, а именно туда, куда мы указали. В данном случае dle-counter.
Ну вот и все дамы и господа, все достаточно просто, главное это немного внимательности и немного знания javascript и тогда все просто будут завидовать уникальным возможностям вашего портала.
Комментарии