Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Счетчики - вызвать через Ajax (https://javascript.ru/forum/jquery/9426-schetchiki-vyzvat-cherez-ajax.html)

yuriii 16.05.2010 12:01

Счетчики - вызвать через Ajax
 
Добрый день.

Есть счетчики сайтов, где-то это просто картинка с ссылкой, а где-то скриптовый - как лайв интернет, например.

Если мы подключаем внешний файл со счетчиками через js + ajax, все работает, кроме javascript счетчиков.

Есть ли возможность чтобы и они работали? Или они могут срабатывать только находясь в теле основного документа?

Skipp 17.05.2010 15:35

код счётчика приведи.

Счётчики разные бывают.

yuriii 17.05.2010 16:35

Цитата:

Сообщение от Skipp (Сообщение 55472)
код счётчика приведи.

Счётчики разные бывают.

лайвинтернетовский к примеру, яндекс метрика

<!--LiveInternet counter--><script type="text/javascript"><!--
document.write('<a href="http://www.liveinternet.ru/click" '+
'target=_blank><img src="http://counter.yadro.ru/hit?t14.3;r'+
escape(document.referrer)+((typeof(screen)=='undefined')?'':
';s'+screen.width+'*'+screen.height+'*'+(screen.colorDepth?
screen.colorDepth:screen.pixelDepth))+';u'+escape(document.URL)+
';'+Math.random()+
'" alt="" title="LiveInternet: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодн\я" '+
'border=0 width=88 height=31><\/a>')//--></script><!--/LiveInternet-->

Skipp 17.05.2010 17:01

почитай про document.write

yuriii 18.05.2010 01:33

Цитата:

Сообщение от Skipp (Сообщение 55483)
почитай про document.write

Спасибо за детальный ответ.

Есть специалисты готовые помочь или сослаться на аналогичные вопросы в этой ветке?

exec 18.05.2010 04:43

Skipp, если document.write сработает после загрузки документа, то всё затрётся содержимым document.write.

yuriii,

<div id="counter"> счётчики </div>


eval(data.getElementById('counter').innerHTML.match(/script>([.|\n]+)<\/script/)[1]);

Octane 18.05.2010 07:49

yuriii, вам дали нормальный совет, нужно понимать, что происходит при выполнении document.write(…) на уже загруженной странице http://alljs.ru/2009/12/document-write/

Самый простой вариант, как переделать скрипт:
document.body.appendChild(document.createElement("div")).innerHTML = '<a href="http://www.liveinternet.ru/click" '+
'target=_blank><img src="http://counter.yadro.ru/hit?t14.3;r'+
escape(document.referrer)+((typeof(screen)=='undefined')?'':
';s'+screen.width+'*'+screen.height+'*'+(screen.colorDepth?
screen.colorDepth:screen.pixelDepth))+';u'+escape(document.URL)+
';'+Math.random()+
'" alt="" title="LiveInternet: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодн\я" '+
'border=0 width=88 height=31><\/a>';


А потом уже выполнять eval(…) на загруженной AJAXом странице, как показал exec.

p.s. Не нравится ответ, ждите следующего, вам тут никто ничего не должен. А после разглагольствования о специалистах и детальных ответах, пропадает желание помогать таким вот личностям, как вы, которые даже не попытавшись разобраться в собственной проблеме думают, что задав вопрос на форуме, им сразу все кинуться писать готовые решения и давать подробные ответы.

Skipp 18.05.2010 09:30

exec,
Спасибо я это знаю:)

yuriii 18.05.2010 12:26

Цитата:

Сообщение от Octane
вам дали нормальный совет, нужно понимать, что происходит при выполнении document.write(…) на уже загруженной странице http://alljs.ru/2009/12/document-write/

я понимаю что совет дали почитать, только темный лес для меня это

Цитата:

Сообщение от exec
eval(data.getElementById('counter').innerHTML.matc h(/script>([.|\n]+)<\/script/)[1]);

ок, попробую

Цитата:

Сообщение от Octane
Не нравится ответ, ждите следующего, вам тут никто ничего не должен.

я знаю что мне никто ничего не должен, но проблема в том, что "иди читай" - это вариант для тех кто хоть что-то понимает в JS, это не мой вариант.

Всем спасибо


Часовой пояс GMT +3, время: 06:41.