2013-06-15 3 views
1

Я запускаю радио-сайт, и я пытаюсь сделать так, чтобы содержимое (информация о радио) обновлялось автоматически.Обновить iframe без потери его текста/мерцания

В настоящее время это очень уродливо при освежении.

Я хочу, чтобы он сохранял содержимое iframe информации о радио до тех пор, пока оно не будет освещено.

Вот мой код: PHP для содержания с IFRAME: http://pastebin.com/fwBjMEUs

PHP для радио информации, которая должна быть обновлена: http://pastebin.com/XyfhG8Kn

+1

не использовать iframe, есть лучшие альтернативы. –

+0

Как я могу это добавить? Я не знаю лучших альтернатив. – x86cam

+0

Я отредактировал свой ответ, так что это в значительной степени копирование и вставка для вас. Дайте мне знать, если это сработает? –

ответ

1

Вы гораздо лучше использовать AJAX для этого. Это использует div вместо iFrame в качестве контейнера. Просто убедитесь, что файл PHP только выводит HTML вы хотите внутри DIV и затем добавить этот скрипт на страницу, которую вы хотите отобразить на:

<script> 
function refreshinfo(){ 
var xmlhttp; 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.getElementById("currentinfo").innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","http://www.x86cam.com/wp-content/plugins/radio-info.php",true); 
xmlhttp.send(); 
} 
setInterval(refreshinfo, 20000); /*How often to refresh in ms; currently 20 secs */ 
</script> 

Затем замените IFRAME с <div id="currentinfo"></div>, и вы должны быть все готово!

EDIT: Я проверил страницу PHP, что Вы тянете информацию, и все, что вам нужно сделать, это удалить <centre> и </centre> тегов из него я думаю, но он может работать оставил в!

+0

Эй, я просто положил его, но он не появляется, а затем через 20 секунд. Помогите? – x86cam

+0

Также он не обновляется. – x86cam

+0

Я извиняюсь! Измените setTimeout на setInterval, который должен его отсортировать :) Я отредактирую свой ответ –

Смежные вопросы