powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Загрузка ХТМЛ-страницы без участия пользователя
12 сообщений из 12, страница 1 из 1
Загрузка ХТМЛ-страницы без участия пользователя
    #37936310
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Есть следующая ситуация:
- пользователь браузером загружает страницу с веб-сервера
- пользователь вводит данные в ТЕКСТЭРИА и нажимает кнопку "Ввод", вызывает файл с обработчиком
- обработчик на РНР передает браузеру страницу "Ждите ответ" и переносит введеные пользователем данные в out.htm
- сторонний сервис(написан на ДЕЛФИ) подключается к веб-серверу и считывает данные из out.htm
- далее сервис обрабатывает данные, создает файл rating.htm и передает его на веб-сервер (через 3...30 мин)
все выше перечисленное уже работает
далее нужно чтобы страница "Ждите ответ" (которая открыта в браузере пользователя) при появлении файла rating.htm самостоятельно загрузила этот файл вместо себя

Вопрос: как это сделать? понятно что JS + таймер? но как конкретно. в поисковиках что то на эту конкретную тему ничего не нашел
...
Рейтинг: 0 / 0
Загрузка ХТМЛ-страницы без участия пользователя
    #37937177
Primus inter pares
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На странице которая отдается пользователю ("Ждите ответ")
надо добавить скрипт типа этого: (по таймауту опрашивает сервак не появился ли файл)

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<script type="text/javascript">
 function checkPage()
 {
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)
     {
           if (xmlhttp.responseText == "Файл существует")
           {
               window.location = "http://xxxxx.ru/yyyy/rating.htm"
            }
     }
   }
 xmlhttp.open("GET","checkpage.php",true);
 xmlhttp.send();
 }
setInterval(checkPage, 180000);//3 минуты
 </script>



Для проверки наличия файла нужен подобный скрипт
checkpage.php:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?
 // файл, который мы проверяем
 $url = "http://xxxxx.ru/yyyy/rating.htm";
 $Headers = @get_headers($url);
 // проверяем ли ответ от сервера с кодом 200 - ОК
 if(strpos('200', $Headers[0])) {
 echo "Файл существует";
 } else {
 echo "Файл не найден";
 }
 ?>



Как-то так, либо гуглить COMET
(с помощью его можно обновить страницу непосредственно при появлении файла, без таймаутов).
...
Рейтинг: 0 / 0
Загрузка ХТМЛ-страницы без участия пользователя
    #37937835
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а фреймворк никакой подключать не надо? типа как с JQwery?
...
Рейтинг: 0 / 0
Загрузка ХТМЛ-страницы без участия пользователя
    #37937856
Primus inter pares
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет это просто обычный JS (ajax).
Скрипт со страницы (JS) дергает каждые 3 минуты скрипт на серваке (php),
который проверяет есть ли файл, если есть то перенаправляет на него.

Можно конечно и на JQurey переписать.
...
Рейтинг: 0 / 0
Загрузка ХТМЛ-страницы без участия пользователя
    #37937862
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
что то РНР скрипт не работает
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?php
 // файл, который мы проверяем
 $url = "http://127.0.0.1/RatingPage.html";
 $Headers = @get_headers($url);
 // проверяем ли ответ от сервера с кодом 200 - ОК
 if(strpos('200', $Headers[0])) {
 echo "Файл существует";
 } else {
 echo "Файл не найден";
 }
 ?>


хотя файл RatingPage.html в корне веб-сервера есть
+++++++++++++++
по поводу JQurey

Почти работает вот такой вариант:
ХТМЛ-страница со скриптом

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<html>
<head>
<script type="text/javascript" src="jquery.js"></script> //подключаем фреймворк
<script>
    $.get( 'file_exist_control.php', function(data){ if (data == YES) { location.href = 'RatingPage.html';}});
</script>
</head>
<body>
<h1>Ждите ответа...</h1>
<body
</html>



ВЕБ-сервер: file_exist_control.php

Проверка существования файла
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<?php
$filename = 'RatingPage.html';

if (file_exists($filename)) {
    $data = YES; //как это передать в жаба-скрипт?
    echo ($data);
    echo "<script language='javascript'>var data = $data;</script>"; //это не работает
} else {
    $data = NO; //это в общем не нужно
    echo ($data);
}
?>



В общем не получается передать в скрипт YES из сервера. не в курсе как это прописать?
и на скрипт еще таймер нужно приделать (каждую секунду посылать запрос на веб-сервер о наличии файла, надеюсь это не позволит зависнуть браузеру и веб-серверу?)
...
Рейтинг: 0 / 0
Загрузка ХТМЛ-страницы без участия пользователя
    #37937906
Primus inter pares
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй как-то так:

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<html>
<head>
<script type="text/javascript" src="jquery.js"></script> //подключаем фреймворк
<script>
$(document).everyTime(1000, function() {
    $.get( 'file_exist_control.php', function(data){ if (data == 'YES') { location.href = 'RatingPage.html';}});
});
</script>
</head>
<body>
<h1>Ждите ответа...</h1>
<body
</html>



file_exist_control.php

Код: php
1.
2.
3.
4.
5.
6.
<?php
$filename = 'RatingPage.html';
if (file_exists($filename)) {
    echo ("YES");
} 
?>


PcrepairВ общем не получается передать в скрипт YES из сервера. не в курсе как это прописать?
и на скрипт еще таймер нужно приделать (каждую секунду посылать запрос на веб-сервер о наличии файла, надеюсь это не позволит зависнуть браузеру и веб-серверу?)
А если зайти на http://127.0.0.1/file_exist_control.php там YES написано?
...
Рейтинг: 0 / 0
Загрузка ХТМЛ-страницы без участия пользователя
    #37937909
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да там написано YES
...
Рейтинг: 0 / 0
Загрузка ХТМЛ-страницы без участия пользователя
    #37937914
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и все равно не работает, при вызове хтмл-страницы (и обработчика из нее) не происходит переход на RatingPage.html??
может фреймворк не работает? jquery.js может не тот? или еще какое то условие не выполнено?
...
Рейтинг: 0 / 0
Загрузка ХТМЛ-страницы без участия пользователя
    #37937928
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
блин, там есть jquery.js с компрессией и без. какой применять? впрочем если установить без компресии(254 кб вер 1.8) все равно все то же самое - не работает
такое впечетление что jquery.js не работает
может есть среда разработки как к примеру РАД2010 в ДЕЛФИ, которая указывает на ошибки? а то пользуюсь блокнотом
...
Рейтинг: 0 / 0
Загрузка ХТМЛ-страницы без участия пользователя
    #37938137
Pcrepair
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот еще что - все это делалось на Рс с ВЫНь 7 тля
сделал все то же самое на том же самом(АПАЧ+РНР) но только на ВЫНьХР - все работает, тля
никто не в курсе что с этой 7 не так?
...
Рейтинг: 0 / 0
Загрузка ХТМЛ-страницы без участия пользователя
    #37938142
Primus inter pares
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pcrepairвот еще что - все это делалось на Рс с ВЫНь 7 тля
сделал все то же самое на том же самом(АПАЧ+РНР) но только на ВЫНьХР - все работает, тля
никто не в курсе что с этой 7 не так?
Да что угодно может быть, может JS в браузере отключен, может ошибки какие есть... ХЗ
...
Рейтинг: 0 / 0
Загрузка ХТМЛ-страницы без участия пользователя
    #37938143
Primus inter pares
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Pcrepairблин, там есть jquery.js с компрессией и без. какой применять? впрочем если установить без компресии(254 кб вер 1.8) все равно все то же самое - не работает
такое впечетление что jquery.js не работает
может есть среда разработки как к примеру РАД2010 в ДЕЛФИ, которая указывает на ошибки? а то пользуюсь блокнотом

jquery.js с компрессией и без - это одно и тоже, только рамеры разные.
Конечно должны быть среды разработки, я не пишу ни на php, ни на delphi так что не знаю. Надо гуглить.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Загрузка ХТМЛ-страницы без участия пользователя
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]