Показать сообщение отдельно

  #4  
Старый 02.01.2010, 21:20
geforse
Постоянный
Регистрация: 02.03.2008
Сообщений: 893
С нами: 9574565

Репутация: 712


По умолчанию

Ребят помогите с выводом текста на экран

Нужно чтобы Ajax проверял, появилось ли что-то новое в файле, если да, то выводил это на экран.

Сам я долго гуглил, удалось лишь переписать чужой код, который выводит на экран сообщения (не из файла)

index.php
PHP код:
<?php
Header
("Content-Type: text/html; charset=utf-8");
?>
<!-- Указываем DOCTYPE -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>PhpAjaxChat</title>
<!-- У нас всё работает в UTF-8 -->
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<style>
* {
    margin: 0;
    padding: 0;
}

body {
    font: normal normal normal 16px "Trebuchet MS", Arial, Times;
    color: #000000;
}

/* Важное свойство */
.chat {
    height: 500px;
    overflow: auto; /* Это позволяет отображать полусу прокрутки */
    position: relative; /* Это позволяет съезжать тексту в слое, не растягия страницу */
    text-align: left;
    border: solid #818181 1px;
}

.chat div {
    position: absolute; /* Страница остаётся тогоже размера */
}

.chat span {
    display: block;
}

input[type=text],textarea {
    width: 100%;
    font: normal normal normal 16px "Trebuchet MS", Arial, Times;
    border: solid #818181 1px;
}

/* Для CSS 3 */
.r4 {
    -moz-border-radius: 4px;
    -khtml-border-radius: 4px;
    -webkit-border-radius: 4px;
    border-radius: 4px;
}
</style>

<!-- Подключаем jQuery -->
<script type="text/javascript" src="jquery.js"></script>

<!-- Сам код нашего чата -->
<script type="text/javascript">

$(document).ready(function () 
 {
    setInterval("Load();", 2000);
 });    

var load_in_process = false;

function Load() {
   if(!load_in_process)
    {
        load_in_process = true;
        $.post("ajax.php", 
        {
              act: "load",
              rand: (new Date()).getTime()
        },
           
        function (result) {
            eval(result);
            $(".chat").scrollTop($(".chat").get(0).scrollHeight);
            load_in_process = false;
        });
    }
}
</script>

<body>
<div style="padding: 100px;">
<!-- Вот в этих 2-х div'ах будут идти наши сообщения из чата -->
<div class="chat r41">
<div id="window_log"><!-- Сюда мы будем добавлять новые сообщения --></div>
</div>

</div>
</body>
</html>

ajax.php
PHP код:
<?php
 Header
("Cache-Control: no-cache, must-revalidate");
 
Header("Pragma: no-cache");
 
Header("Content-Type: text/javascript; charset=utf-8");
if(isset(
$_POST['act']))
{

 
$message 'test';
 echo 
'var chat = $("#window_log"); chat.append("<span>' $message '</span>");';
 }
?>
С новым годом)
 
Ответить с цитированием