Получение количества комментариев из сервиса cackle.ru
Здравствуйте посетители форума.
Есть такой опенИД сервис комментариев как "cackle.ru" Я заметил у них такой вот способ получения количества комментариев из новости: <script src="http://cackle.ru/widget/2865/countComments?callback=?&chan=ссылка на страницу сайта" type="text/javascript"></script> Я вставил этот код в краткую новость. Но там есть такая загвоздка - если одновременно делается более 11 запросов, а кратких новостей больше на странице, то отдает ошибку 503. Вот тут мне и пришла мысль сделать вывод скрипта по случайному таймауту. У меня получился вот такой код: setTimeout(function(){ var script = document.createElement('script'); script.src = "http://cackle.ru/widget/2865/countComments?callback=?&chan=ссылка на страницу сайта"; document.getElementById("comment").appendChild(script); }, Math.floor(Math.random()*2000)); Но в консоли браузера я теперь вижу ошибку: "Resource interpreted as Script but transferred with MIME type text/html" Подскажите что не так? Или может я вообще не с той стороны подхожу к этому вопросу? Спасибо. |
script.type = "text/javascript";
и mime-type у файла со скриптом выставьте |
Цитата:
setTimeout(function(){ var script = document.createElement('script'); script.src = "http://cackle.ru/widget/2865/countComments?callback=?&chan=ссылка на страницу.html"; script.type = "text/javascript"; document.getElementById("comment").appendChild(script); }, Math.floor(Math.random()*2000)); Но ошибка та же. Видимо ошибка из-за того, что путь скрипта заканчивается на .html. Подскажите пожалуйста что делать в этом случае? Спасибо. |
Цитата:
|
Я вроде понял в чем ошибка. У меня на странице много div с id=comment и все собранные скрипты вставляются в первый div. Подскажите как сделать, чтобы скрипт вставлялся в тот див, в котором он сейчас находится? Спасибо
|
как вариант
<script> (function (){}( var scriptList = document.getElementsByTagName("script"); var lastScript = scriptList[ script.length - 1 ]; var container = lastScript.parentNode; while ( container && container.id != 'comment' ) { container = container.parentNode; } setTimeout(function(){ var script = document.createElement('script'); script.src = "http://cackle.ru/widget/2865/countComments?callback=?&chan=ссылка на страницу.html"; script.type = "text/javascript"; container .appendChild(script); }, Math.floor(Math.random()*2000)); ))(); </script> |
C добавлением в нужное место разобрался. Осталось решить дело с ошибкой: "Resource interpreted as Script but transferred with MIME type text/html"
Если скрипт сделать нижним способом, то нет вышеуказанной ошибки. Но я не могу понять как его вставить в нушное место :(. Почему-то через ".append" не выходит. setTimeout(function(){ var code = "<scr"+"ipt src='http://cackle.ru/widget/2865/countComments?callback=?&chan=ссылка на страницу.html' type='text/javascript'>;</scr"+"ipt>"; $("span").append( $("code") ); }, Math.floor(Math.random()*2000)); Подскажите варианты как устранить ошибку с MIME-TYPE или как второй код вставить? Спасибо. |
Часовой пояс GMT +3, время: 14:40. |