PHP, удаленная загрузка инфы

Статус
Закрыто для дальнейших ответов.

Universal

New Member
Регистрация
29.10.2009
Сообщения
6
всем привет

подскажите пожалуйста, в чем может быть проблема

есть код который берет новости с рбк и вставляет их на сайт
я этот код вставил в php

Код:
<?php
echo '
<script language=JavaScript src="http://pics.rbc.ru/js/top_last_topnews.js"></script>
<script>
<!--
print_top_news(5,true);
//-->
</script>
'
?>
обозвал его news.php

далее иду в index.html и вставляю туда вот это:

Код:
<script type="text/javascript">
$(document).ready(function(){             
     $.ajax({
       type: "GET",
       url: "news.php",
       data: "",
       success: function(msg){
             $("#news").html(msg);
           }
    }) 
}); 
</script>
<b id="news"></b>
но почему-то на сайте ничего не появляется, пусто
хотя если перейти на news.php, то там новости есть

то же самое делал с погодой и температурой, всё выводило

PS. Jquery подключается, на него не переть.
 

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
Проверил ваш код в Опере и Мозилле - все подгружается отлично.

Интересно, зачем вы используете AJAX при подгрузки новостей? Или у вас они обновляются каждую минуту?

Почему бы не упростить до:

Код:
<b id="news"><script language="Javascript" src="http://pics.rbc.ru/js/top_last_topnews.js"></script>
<script>
<!--
print_top_news(5,true);
//-->
</script></b>
 

Universal

New Member
Регистрация
29.10.2009
Сообщения
6
Если бы я хотел чтобы эти новости игрузились именно через юзера, то я бы не писал сюда.

Задача: нужно чтобы новости грузил не юзер, а сам сервер на котором расположен сайт. Сайт в локалке у нас и нужно чтобы он был бесплатным. Соотвественно убираем все эти прибамбасы которые лезут в инет. Я этим же способом вывожу погоду и температуру на сайте (т.е. сервер грузит у себя и выводит на странице). Клиенту трафик из инет не идет вообще.

Как такое сделать?
 

toxin

Well-Known Member
Регистрация
20.10.2009
Сообщения
478
Как насчет rss или простого грабера на php ?

Сталкивался со схожей ситуацией.




С уважением toxin...
 

Universal

New Member
Регистрация
29.10.2009
Сообщения
6
Да хоть что, главное чтобы трафик интернетовский не шел к юзеру. Чтобы сначала сервер грузил инфу, а потом выводил на сайте её. Т.е. у клиента должен идти запрос не в инет, а к серверу, к какому-то скрипту который уже берет инфу с инета. Скрипт который будет посылать запрос на сервер не должен быть ввиде php, сайт шаблонный, DLE. Это значит что нужен такой код, который можно было бы вставить в html, к примеру ява.
 

Felix

Друг форума
Регистрация
20.06.2009
Сообщения
1 097
А почему так не хотите PHP если его все советуют ! Dle потдерживает PHP в полную силу после маленькой дороботки в этом проблема ?

toxin верно предлогает 2 самых простых варианта.
 

Universal

New Member
Регистрация
29.10.2009
Сообщения
6
 Ничего не пойму... Зачем мне php ковырять? Мне нужно чтобы этот скрипт был именно в шаблоне. Если знаете как в DLE наковырять чтобы в определенном месте появлялась эта инфа, причем чтобы грузилась она сервером, а не юзером, то скажите пожалуйста. А если не знаете, то флудить не обязательно... 
 

toxin

Well-Known Member
Регистрация
20.10.2009
Сообщения
478
 Ничего не пойму... Зачем мне php ковырять? Мне нужно чтобы этот скрипт был именно в шаблоне. Если знаете как в DLE наковырять чтобы в определенном месте появлялась эта инфа, причем чтобы грузилась она сервером, а не юзером, то скажите пожалуйста. А если не знаете, то флудить не обязательно... 
Вы не горячитесь, мы знаем о чем говорим, насколько я знаю javascript это не серверный язык, а клиентский, тоесть он выполняется в браузере, а не на стороне сервера ! Мысль понятна я думаю !


Написать модуль для дле можно за пол часа ! В интернете полно информации я бы мог привести конкретные ссылки но я незнаю вашей версии движка, граберы и парсеры всегда используют для подобных дел, незнаю зачем Вы вообще в javascript полезли !







С уважением toxin...
 

Universal

New Member
Регистрация
29.10.2009
Сообщения
6
Ладно, спрошу по-другому.

Есть файл php, зайдя по которому выводится конктерная цифра (температура).  Какой ява код нужно прописать в шаблоне, чтобы пошел запрос к этому файлу и приходил ответ к клиенту (чтоб выводилась температура).
 

toxin

Well-Known Member
Регистрация
20.10.2009
Сообщения
478
:blink: чеж Вам так жаба понравилась ?!

Код:
<?php

$content = file_get_contents("урл страницы с которой грабим содержание");

$pos = strpos($content, " сюда пишем кусочек html кода или слово из страницы  с которого начинается вывод контента к Вам на сайт");

/*Отрезаем все, что идет до нужной нам позиции (функция substr в данном случае принимает два параметра: строка для обработки и //номер позиции. Функция вернет строку, НАЧИНАЯ с указанной позиции) */
$content = substr($content, $pos);

// Точно таким же образом находим позицию второй строки
$pos = strpos($content, "здесь пишем кусочек html кода или слово на котором заканчивается вывод на Ваш сайт");

// Отрезаем нужное количество символов от нулевого
$content = substr($content, 0, $pos);

// выводим полученную строку.
echo $content;
?>
Вот пример простого грабера, и еще ссылка

http://iniweb.hiblogger.net/810.html

Создание модулей под dle

http://4dle.ru/tips/1147157144-kak-napisat-modul-dlja-dle-7.5-s.html




Изучите, и Ваша информация будет в шаблон вставляться 1 тегом !

И никакой жабы Вам не нада, не морочьте голову !




С уважением toxin...
 

Creator

Administrator
Команда форума
Регистрация
03.03.2005
Сообщения
1 745
Есть файл php, зайдя по которому выводится конктерная цифра (температура). Какой ява код нужно прописать в шаблоне, чтобы пошел запрос к этому файлу и приходил ответ к клиенту (чтоб выводилась температура).
Такой код будет выводить информацию о вашей температуре на всех популярных браузерах:

Код:
<script type="text/javascript" src="jquery-1.3.2.min.js"></script>

<script type="text/javascript">

$(document).ready(function(){  
		  
$.get("temp.php", "",
   function(data){
     $("#temp").text(data);
   });
   
});		  
		 
</script>
<b id="temp"></b>
Код:
<?php

echo '34';

?>
По поводу новостей - я пришел к выводу, что проблема не в вашем коде, а в браузере IE и выполнении

Код:
$("#news").html(msg);
Ну никак он не хочет интерпретировать полученный HTML код, как только я не пробовал:( Со всеми остальными браузерами, все отлично. На ИЕ у меня отработало только $(...).text(data) и $(...).val(data). Надо бы попробовать через нативный JS код.

И еще, считаю, что использование JS для эмуляции прокси не самая лучшая идея. Выше не зря советовали именно его.

P.S. Вы пользуетесь IE?
 

Universal

New Member
Регистрация
29.10.2009
Сообщения
6
Вообщем сделал так: скачал прогу wget, которая по расписанию качает каждые 10 минут файлик top_last_topnews.js. Потом просто вместо http://pics.rbc.ru вставил http://192.168.168.10. Т.е. этот скрипт теперь будет на все 100% браться с сервера, а не из инета. Код вышел такой:

Код:
<script language=Javascript src="http://192.168.168.10/top_last_topnews.js"></script>
<script>
<!--
print_top_news(5,true);
//-->
</script>
Работает отлично :)

Спасибо что помогали, добрые люди :)
 
Статус
Закрыто для дальнейших ответов.
Верх Низ