Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Частичное динамическое обновление страницы
 
 автор: Ruthless   (07.09.2006 в 15:52)   письмо автору
 
 

Господа вот тут писали:



 автор: Бог Зайцев   (10.05.2006 в 14:57)   письмо автору   
  Вот довольно простой способ, в отличии от аякса работает еще и в опере :)

Делимся на две части, вот часть клиентская:

<div id = "online"> Тут выводим данные при загрузке скрипта 
</online> 
<script> 
function get() {     
var Zayachiy_Script = document.createElement("SCRIPT");    // Создаем новый скрипт  
Zayachiy_Script.type="text/javascript";     // Рассказываем ему, кто он такой ) 
Zayachiy_Script.src= 'update.php?sid='+Date.parse(Date());     // Даем наводку, откуда запускацо, добавляем дату в ссылку, дабы избежать проблем с кешированем ) я бы посоветовал запрещать кеш с серверной стороны, но это уже пхп. а следовательно не наша область:) 
document.body.appendChild(Zayachiy_Script); // Втыкаем в документ и запускаем ) 
}     

function write(var1) 

document.getElementById('online').innerHTML='Сейчас на сайте '+var1+' человек )'; // Выводим полученные данные любым удобным для нас способом 

var interval = 10; // Через сколько секунд обновлять инфу ) 
window.setInterval('get()',interval*1000); // Обновляем с периодичностью в несколько минут ) 
</script> 
 


А вот это файл update.php, он лежит на сервере:

<? 
$users_online 
10// значение взято от балды, как его вычислять Вы знаете без меня :) 
echo "write($users_online)"// Запускаем функцию  
?> 
 


Хотя я бы не советовал злоупотреблять подобными штуками :)
 


Подскажите пожалуйста как сделать то же самое, но для нескольких параметров, т.е. не только users_online, но и added_links и т.д. и т.п.?

   
 
 автор: RMW   (07.09.2006 в 16:38)   письмо автору
 
   для: Ruthless   (07.09.2006 в 15:52)
 

А какие проблемы

<?  
$users_online 
10;
$added_links 10;  
echo 
"write($users_online$added_links)"// Запускаем функцию   
?>

function write(var1,var2)  
{  
document.getElementById('online').innerHTML='первое знач.'+var1+' второе знач.'+var2;  

   
 
 автор: 12345   (07.09.2006 в 16:40)   письмо автору
 
   для: Ruthless   (07.09.2006 в 15:52)
 

Но тут и для users_online не сделано - только функция, без вызова. Вы ответили на вопрос, как вызвать её? Вот так же и всё остальное.

   
 
 автор: Ruthless   (07.09.2006 в 20:46)   письмо автору
 
   для: 12345   (07.09.2006 в 16:40)
 

Спасибо огромное все отлично работает

   
 
 автор: RMW   (08.09.2006 в 10:08)   письмо автору
 
   для: Ruthless   (07.09.2006 в 20:46)
 

Коль уж работает и используется
appendChild, то нужно использовать
removeChild иначе у нас этих
<script> разведётся немеряно, а оно нам не надо.

function get() {
  if(document.getElementById('elId'))
  {
    document.body.removeChild(document.getElementById('elId'));
  }      
var Zayachiy_Script = document.createElement("SCRIPT");
Zayachiy_Script.type="text/javascript";  
Zayachiy_Script.src= 'update.php?sid='+Date.parse(Date());
Zayachiy_Script.id = "elId";  
document.body.appendChild(Zayachiy_Script);  
}

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования