Скрипт обновления Iframe локального файла
Добрый день, перерыл весь интернет, нашел кучу советов, но ни один не помог. Ваяю гаджет для вин7 под свои нужды, столкнулся с такой проблемой - есть основная страница гаджета, в нем iframe, файл source.html является локальным, будет генерироваться другой программой, необходимо, чтобы периодически iframe обновлялся. Сам новичок в ХТМЛ и джаве, вот что удалось накропать:
<iframe src="source.html" name="MainFrame" height="100" width="100" frameborder="0" scrolling="no" Id="frame1"> </iframe> </head> <script type="text/javascript"> function refreshIFrame() { document.getElementByID('frame1').src="source.html " } setTimeout(refreshIFrame(),2000 </script> Во первых, почему-то не срабатывает обновление в браузере когда подменяешь source.html. Во вторых, берут сомнения что будет обновляться в случае локального файла, без веб-сервера. Подскажите пожалуйста, как лучше организовать обновление? |
<iframe src="source.html" name="MainFrame" height="100" width="100" frameborder="0" scrolling="no" Id="frame1"> </iframe> <script type="text/javascript"> function refreshIFrame() { document.getElementByID('frame1').src="source.html?"+(+new Date()); } setTimeout('refreshIFrame()',2000) </script> |
Цитата:
И наверное все таки setInterval |
danik.js,
1. Ваши предпочтения мало колышат, код валидный! 2. Отпиши тут http://javascript.ru/settimeout , что тьву не нравятся примеры |
Цитата:
http://jslinterrors.com/implied-eval...d-of-a-string/ http://stackoverflow.com/questions/6...out-if-yes-why http://stackoverflow.com/questions/6...-to-settimeout Цитата:
|
Цитата:
И еще, полностью закопипастил ваш код, не хочет он что-то работать, когда source.html подменяю. Поставил Firefox c Firebug: ловит ошибку: TypeError: document.getElementByID is not a function document.getElementByID('frame1').src="source.html ?"+(+new Date()) без вышеуказанной конструкции ошибок нет, но все равно не обновляет iFrame. Подскажите, в чем может быть проблема, может быть я что-то не так делаю, может быть браузер кэширует source.html и при подмене не хочет брать "занятый" файл, а дергает его из кэша? |
danik.js,
Еще раз, - на странице http://javascript.ru/settimeout Первый код примера - Изложите свои претензии там! Цитата:
Задача писать автоматически и работоспособный код, по возможности короче 2. Пишу на автомате, даже не задумываясь: если код менее 100 знаков и нет передачи параметров в вызываемых ф-иях, - кавычки, - иначе анонимная функция... И не нужно строить из-себя гуру! Тут не письками меряются, а пытаются ответить на заданный вопрос, см выше по пути поправил исходный код ТС, отсутствовали кавычки и скобка. |
Цитата:
<script type="text/javascript"> function refreshIFrame(sel) { setTimeout(function(){sel.src="source.html?"+(+new Date());},2000); } </script> <iframe src="source.html" name="MainFrame" height="100" width="100" frameborder="0" scrolling="no" onload="refreshIFrame(this)"> </iframe> |
Хм, сделал так document.getElementByID('frame1').src=("source.htm l ?"+(+new Date())) в FireBug ошибок нет, но все равно не обновляет... Может iFrame cо скриптом в другой тег засунуть, head например?
|
Спасибо большое!!! Все заработало в последнем варианте! Выручили жутко!!!! Профи! А можно в двух словах на будущее, в чем различие основное? В порядке выполнения?
|
Часовой пояс GMT +3, время: 02:44. |