имеется бесплатный хостинг без поддержки пхп. на другом сайте лежит пхп-скрипт, формирующий новости по определенной тематике.
подскажите, как с помощью javascript вставить в страничку на бесплатном сервере результат работы этого скрипта?
поменять хостинг прошу не предлагать.
The Undertaker
13.09.2006 - 16:30
никак. ява скрипты работают у клиента на компе, а не на уровне сервера.
В данном случае оптимальным будет использование фреймов
The Undertaker Я думаю, насчет никак вы не правы. В хтмл-страничку можно вызвать любой джава-скрипт, находящийся на другом сервере. Простейший пример - джава-скрипт с методом document.write(), позволяющий вставить в хтмл-страницу все, что находится внутри скобок. Скорее всего, в джаваскрипт есть что-то наподобие и для того, чтобы вставить содержимое файла, подставив его адрес в интернете.
Albu Использование фреймов исключается.
Может у кого-то будут еще варианты?
Код <script type="text/javascript" SRC="http://site.ru/script.js"></SCRIPT> я так понял, тебе это надо вместо http://site.ru/script.js вставляешь адрес скрипта Но сам понимаешь, что индексации поисковиками текста выводимого таким методом не будет
AlbuДа, таким образом джава-скрипт будет вставляться страницу. Но мне нужно содержимое (код) самого файла script.js, которое позволяло бы вставить в страницу текст из файла по его адресу в интернет, т.е. читающего в себя содержимое файла. Например, код script.js для вставки в страницу текста "Привет!" будет следующим: Код document.write('Привет!'); Моя задача другого рода. К примеру, по адресу www.adres.ru/phpfile.php находится пхп-страничка. Мне нужен код файла script.js, позволяющий прочитать содержимое странички по ее адресу. У кого будут какие соображения???
Цитата(Igrok @ 14.09.2006 - 08:34) Моя задача другого рода. К примеру, по адресу www.adres.ru/phpfile.php находится пхп-страничка. Мне нужен код файла script.js, позволяющий прочитать содержимое странички по ее адресу.
Пишем нового робота для спама? Напишите ява-машину на ПХП - и будет вам счастье...
Цитата(VitS @ 15.09.2006 - 19:59) Пишем нового робота для спама? Напишите ява-машину на ПХП - и будет вам счастье... Зачем все усложнять? У меня есть сайт на хостинге, не поддерживающем пхп. на нем есть ssi, но инклудить с внешних сайтов запрещено. Я хочу вставлять в странички на этом сайте блок новостей. У меня есть другой сайт с поддержкой пхп, на котором я написал и разместил пхп-скрипт, формирующий этот блок новостей. Я так представляю, что единственный вариант взять этот пхп-файл на сайт без поддержки пхп - вставка его с помощью javascript. (т.к. google adsense преспокойно вставляется на странички с его помощью) Так как же с помощью javascript мне вставить блок новостей? Решение этого до сих пор не найдено (хотя я думаю что оно будет простейшим). Если есть спецы - подскажите или посоветуйте где задать этот вопрос более квалифицированным специалистам.
Ну так если сайт с новостями твой и ты можешь управлять выводом, выводи контент в виде js скрипта
P.S. После предыдущего твоего поста я подумал, что тебе необходимо осуществить граббинг с чужого сайта
P.S.S. Возможен еще такой способ: на сайте с новостями ставишь скрипт, который записывает контент в файл сайта на хостинге, не поддерживающем php, а потом уже из этого файла делаешь инклюд на нужную страницу Этот метод более предпочтителен, так как текст новостей будет в коде страници => будет индексация новостей.
Цитата(Albu @ 16.09.2006 - 08:53) Ну так если сайт с новостями твой и ты можешь управлять выводом, выводи контент в виде js скрипта
Сайт с пхп-файлом новостей мой. Я могу на нем разместить js скрипт и хочу потом его вставлять в страницы на хостинге без пхп. Меня интересует код этого js скрипта, чтобы он позволял вставить содержимое пхп-файла с новостями. Дело в том, что этот пхп-файл грабит новости с другого сайта, код непростой и я не уверен что смогу его реализовать на javascript, т.к. в основном программлю на пхп. Писать напрямую в файл на хостинге без пхп я опасаюсь, кроме того не уверен что это разрешено хостером.
Ну тут особо ничего сложного нет если в граббере вывод происходит одной переменной, то надо редактировать эту переменную: Код // закомментировать все одинеарные кавычки $st=str_replace ("'", "\'", $st); // заменить все переносы строк (если файл выводит контент в unix кодировке то вместо \r\n писать \n) $st=str_replace("\r\n", "'\r\n+'", $st); print "document.write('".$st."');" если вывод происходит частями, то необходимо подобную замену производить перед выводом очередной части текста потом на сайте вставляешь код Код <script type="text/javascript" SRC="http://site.ru/grabber.php"></script> http://site.ru/grabber.php - адрес граббера
AlbuВот код пхп-файла: Код <!-- Nalog News--> <? $adr='http://www.r30.nalog.ru/index.php'; //адрес страницы с новостями $begin_screen='font color="#CC0000">Новости сайта'; // начальная фраза таблицы с новостями $end_screen='a href="map.php'; // последняя фраза таблицы $before_data='#CC0000"> '; // перед датой $post_data='</font></td'; // после даты $before_newsid='.php?id='; // перед id новости $post_newsid='&topic=www.r30'; // после id новости $before_news='.nalog.ru">'; // перед текстом новости $post_news='</td>'; // после текста новости // начинаем обрабатывать страницу. // Выясняем строки начала и конца таблицы с новостями. // Затем, будем работать именно с этим блоком. $screen=file($adr); // читаем страницу с новостями в переменную $screen for ($i=1; $i<sizeof($screen); $i++) { // обрабатываем строки с первой по последнюю if (strpos($screen[$i],$begin_screen)==false) { //находим начало таблицы с новостями if (strpos($screen[$i],$end_screen)==false) { //находим ее конец } else {$m=$i; // $m - номер последней строки таблицы } } else {$k=$i; // $k - номер первой строки таблицы } } // Получаем с $screen[$k] по $screen[$m] - нашу таблицу с новостями. // Потом будем работать именно с ней, чтобы не было лишних совпадений, и // быстро работала программа. $data=array(); // массив дат $newsid=array(); // массив id $news=array(); // массив новостей $chip=0; // контрольный переключатель $iks=0; // счетчик дат $zed=0; // счетчик id и новостей for ($i=$k; $i<=$m; $i++) { //работаем с датами //если нет даты в строке (если нет фразы, стоящей перед датами.) if ($chip==0) { if (strpos($screen[$i],$before_data)!==false && strpos($screen[$i],$post_data)!==false) { $string_data=$screen[$i]; // сохраняем строку с датой в переменную $string_data=substr($string_data,strpos($screen[$i],$before_data)+strlen($before_data)); $end_data=strpos($string_data,$post_data,0); $data[$iks]=substr($string_data,0,$end_data); $chip=1; $iks++; // инкремент счетчика дат }; }; if (strpos($screen[$i],$before_newsid)!==false && strpos($screen[$i],$post_newsid)!==false && strpos($screen[$i],$before_news)!==false && strpos($screen[$i],$post_news)!==false) { $string_newsid=$screen[$i]; // сохраняем строку с id в переменную $string_newsid=substr($string_newsid,strpos($screen[$i],$before_newsid)+strlen($before_newsid)); $end_newsid=strpos($string_newsid,$post_newsid,0); $newsid[$zed]=substr($string_newsid,0,$end_newsid); $string_news=$screen[$i]; // сохраняем строку с новостью в переменную $string_news=substr($string_news,strpos($screen[$i],$before_news)+strlen($before_news)); $end_news=strpos($string_news,$post_news,0); $news[$zed]=substr($string_news,0,$end_news); $zed++; // инкремент счетчика id и новостей $chip=0; }; }; // публикуем результаты: ?> <table width=100% cellpadding=3 cellspacing=0 border=0> <? for ($i=0; $i<=8; $i++) { ?> <tr><td><div align="left"><font face="Arial, Helvetica, sans-serif"> <font size="-1"><b><? echo $data[$i]?></b> <br></font> <font size="-2"><a href="http://www.r30.nalog.ru/document.php?id=<? echo $newsid[$i]?>" target="_blank"> <? echo $news[$i]?> <br></font></div></td></tr> <? }; ?> </table> <!--/ Nalog News-->
что с ним надо сделать?
замени только нижнюю часть на следующее Код // публикуем результаты: ?> document.write('<table width=100% cellpadding=3 cellspacing=0 border=0>' <? for ($i=0; $i<=8; $i++) { ?> +'<tr><td><div align="left"><font face="Arial, Helvetica, sans-serif">' +'<font size="-1"><b><? $st=str_replace ("'", "\'", $data[$i]); $st=str_replace("\r\n", "'\r\n+'", $st); echo $st; ?></b>' +'<br></font>' +'<font size="-2"><a href="http://www.r30.nalog.ru/document.php?id=<? echo $newsid[$i]?>" target="_blank">' +'<? $st=str_replace ("'", "\'", $news[$i]); $st=str_replace("\r\n", "'\r\n+'", $st); echo $st; ?>' +'<br></font></div></td></tr>' <? }; ?> +'</table>');
Если не секрет, а чем использование фрейма не подходит, ведь фреймом проще это реализовать?
Цитата(Albu @ 16.09.2006 - 11:43) Если не секрет, а чем использование фрейма не подходит, ведь фреймом проще это реализовать?
А можно для примера вариант размещения с фреймом? Я просто пробовал, у меня не получилось, думал может это тоже на хостинге запрещено. А джаваскрипт точно работало.
работа фреймов никак от хостинга не может завистить пример фрейма: Код <IFRAME SRC="http://bestfilez.net/" WIDTH=300 HEIGHT=70 SCROLLING="no" FRAMEBORDER=0 align=center> </IFRAME> думаю, пояснять атрибуты фремай не надо, и так все понятно Для того, чтобы ссылка открывалась в родительском окне, а не во фрейме, следует в ссылку добавить target=_top для открытия в новом окне target=_blank
Albu
Интересно! Это будет поудобнее наверно, надо поэкспериментировать.
Спасибо за советы.
..
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
|