Обновление файла *.js по интервалу. Как ?
Друзья, есть страничка со следующим кодом
<script language=JavaScript src="http://pics.rbc.ru/js/rbc_b_w.js"></script> далее рисую функции которые разбирают данные из этого скрипта и распихивают в нужные места. Вопрос как не перегружая всей страницы обновлять только этот файл скрипта ? После этого обновляю необходимые места страницы (но это знаю как делать). То есть каким образом через JS загрузить файлик *.js чтобы использовать его содержимое ? Надеюсь понятно объяснил. |
var s = document.createElement('SCRIPT'); s.type = 'text/javascript'; s.src = 'http://pics.rbc.ru/js/rbc_b_w.js'; document.body.appendChild(s); |
Хм .. в вашем варианте у меня почему-то не заработало, заработало вот в таком:
var headID = document.getElementsByTagName("head")[0]; var s = document.createElement('SCRIPT'); s.type = 'text/javascript'; s.src = 'http://pics.rbc.ru/js/rbc_b_w.js'; headID.appendChild(s); Но не суть ... а как мне теперь вызвать перезагрузку этого s.src ? |
Для перезагрузки это все и делать. Можно периодически удалять элементы script из DOM.
|
хм ... подпихнул в цикл не работает, ну работает наверно только не обновляет данные а тянет видимо из кеша. Сделал так
s.src = "http://deceit.narod.ru/rbc_b_w.js" + "?" + Math.random(); Заработало как надо. Вопрос , это нормальное решение ? И можно написать как чистить данные в DOM? К сожалению не силен в JS ... так хобби. |
Цитата:
Цитата:
function removeNode(el) { el.parentNode.removeChild(el); } |
Премного благодарен ! :)
|
Можно как-нибудь вот так:
setInterval(function() { if (arguments.callee.script) { arguments.callee.script.parentNode.removeChild(arguments.callee.script); } arguments.callee.script = document.createElement("SCRIPT"); arguments.callee.script.src = "http://deceit.narod.ru/rbc_b_w.js" + "?" + Math.random(); arguments.callee.script.type = "text/javascript"; document.getElementsByTagName("head")[0].appendChild(arguments.callee.script); }, 5000); |
Спасибо , тоже вариант.
Есть мысль написать скрипт который будет выполняться в определенное время (обновлять данные с инета), например в 13-00, если соединение с инетом есть то загрузить данные и ждать следующих 13-00, если соединения в данный момент нет, то вывести текст с ошибкой подождать заданный интервал и пробовать снова и т.д. Если у кого-нибудь есть немного времени и мысли как это можно организовать, буду очень благодарен за помощь. Ученье - свет :) |
var img = new Image(); img.src = 'путь к заведомо существующей картинке'; img.onload = function() { alert('Есть интернет'); }; img.onerror = function() { alert('Нет интернета'); }; |
Часовой пояс GMT +3, время: 16:55. |