как выводить через JS?

123
LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#11

всё... сделал:


<?
Header("content-type: application/x-javascript");
echo "document.write(\"<style>.rate {width: 200px;font-family: Tahoma, Arial, Verdana; font-size: 7px; } .red { color:red; } .green { color:green; } </style>\");\r\n";
$page = file_get_contents("http://www.rbc.ru/");

$b_tag = '<table width=100% class="rate">'; // вырезаем контент от сюда
$e_tag = '<TD><a href="http://pogoda.rbc.ru">'; // до сюда

$begin = strpos ($page, $b_tag);
$page = substr ($page, $begin);
$end = strpos ($page, $e_tag);
$page = substr ($page, 0, $end);


$page = preg_replace('/(<i><\/i><span><A)(.*?)(>)/i', '', $page);
$page = preg_replace('/(<\/A><\/span>)||(width=100% )/i', '', $page);
$page = preg_replace('/(indexes red)/i', 'red', $page);
$page = preg_replace('/(indexes green)/i', 'green', $page);
$page=str_replace("\n","",$page);
$page=str_replace("\r","",$page);
echo "document.write('$page<td align=center colspan=4></td></tr></table>');\r\n";
?>
✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
aleksey_php
На сайте с 17.03.2008
Offline
53
#12

+1

Действительно, работает. Надо взять на вооружение столь заковыристый способ подключать модули.

C
На сайте с 15.07.2008
Offline
59
#13

да, все работает.

Если не сложно ответе, что значит

"\n" и "\r"

и кстати: без этой -

$page=str_replace("\r","",$page);
строки тоже работает.
LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#14
Claud:
да, все работает.

Если не сложно ответе, что значит
"\n" и "\r"
и кстати: без этой -
$page=str_replace("\r","",$page);
строки тоже работает.

это вытягиваем строки в одну.

[Удален]
#15

document.write вообще зло, че не innerHTML то?

И вообще такие решения все таки лучше аяксом, можно автообновление настроить, кеширование сделать и вообще не грузить так несчастный РБК.

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#16
neolord:
document.write вообще зло, че не innerHTML то?
И вообще такие решения все таки лучше аяксом, можно автообновление настроить, кеширование сделать и вообще не грузить так несчастный РБК.

и в чём зло?

и на кой тут аякс? пусть данные по крону обновляются каждый час и записываются в файл.

[Удален]
#17
LEOnidUKG:
и в чём зло?

и на кой тут аякс? пусть данные по крону обновляются каждый час и записываются в файл.

ыыы) Накой тут крон?? Можно это делать и без крона, тупо проверяя время обновления данного файла все тем же скриптом. А если данные на исходном сайте обновляются каждые 3-4 секунды? =)

А зло, по-моему, очевидно - никогда не знаешь что останется от страницы после document.write, легко может нарушится dom-структура.

LEOnidUKG
На сайте с 25.11.2006
Offline
1773
#18
neolord:
ыыы) Накой тут крон?? Можно это делать и без крона, тупо проверяя время обновления данного файла все тем же скриптом. А если данные на исходном сайте обновляются каждые 3-4 секунды? =)

ну так GO так сказать, выкладывайте решение на Ajax мы только за.

[Удален]
#19

много кода. ну да ладно.


var ajaxTarget;

function ajaxConnect(url,src)
{
if (window.XMLHttpRequest) {
try {
ajaxRequest = new XMLHttpRequest();
} catch (microsoft){}
} else if (window.ActiveXObject) {
try {
ajaxRequest = new ActiveXObject('Msxml2.XMLHTTP');
} catch (othermicrosoft){
try {
ajaxRequest = new ActiveXObject('Microsoft.XMLHTTP');
} catch (failed)
{
ajaxRequest=false;
}
}
}

if (ajaxRequest) {
ajaxTarget=document.getElementById(src);
ajaxRequest.onreadystatechange = ajaxCallback;
ajaxRequest.open("GET", url, sync);
ajaxRequest.send(null);
}
else
{
//браузер не поддерживает xmlhttprequest.
}
}

function ajaxCallback()
{
if (ajaxRequest.readyState == 4)
{
// для статуса "OK"
if (ajaxRequest.status == 200)
{
if (ajaxRequest.responseText!='')
{
if (ajaxTarget)
ajaxTarget.innerHTML=ajaxRequest.responseText;
}

}
else
{
//ошибка связи
}
}
}

ajaxConnect('скрипт.пхп','целевой DOM-элемент по его id') ;

В пхпшном скрипте тупо убираем document.write

Ну а с кешированием и прочими свистелками-перделками, это уже по вкусу.

C
На сайте с 15.07.2008
Offline
59
#20
neolord:


var ajaxTarget;

function ajaxConnect(url,src)
{
if (window.XMLHttpRequest) {
try {
ajaxRequest = new XMLHttpRequest();
} catch (microsoft){}
} else if (window.ActiveXObject) {
try {
ajaxRequest = new ActiveXObject('Msxml2.XMLHTTP');
} catch (othermicrosoft){
try {
ajaxRequest = new ActiveXObject('Microsoft.XMLHTTP');
} catch (failed)
{
ajaxRequest=false;
}
}
}

if (ajaxRequest) {
ajaxTarget=document.getElementById(src);
ajaxRequest.onreadystatechange = ajaxCallback;
ajaxRequest.open("GET", url, sync);
ajaxRequest.send(null);
}
else
{
//браузер не поддерживает xmlhttprequest.
}
}

function ajaxCallback()
{
if (ajaxRequest.readyState == 4)
{
// для статуса "OK"
if (ajaxRequest.status == 200)
{
if (ajaxRequest.responseText!='')
{
if (ajaxTarget)
ajaxTarget.innerHTML=ajaxRequest.responseText;
}

}
else
{
//ошибка связи
}
}
}

ajaxConnect('скрипт.пхп','целевой DOM-элемент по его id') ;

Хм... и чего со всем этим делать, что б оно работало?

Куда. чего нужно прописывать, что б на страницу выводилась информация?

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий