Получение количества комментариев из сервиса 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, время: 06:08. |