Консультация № 83372
20.04.2007, 07:06
0.00 руб.
0 3 3
Доброго дня! Может вопрос и не в этот раздел но всеравно спрошу. Какими средствами можно брать кусок кода с одного сайта и вставлять в другую страницу. Т.е меняясь ссылками приходится на нескольких своих сайтах делать одинаковые страницы а это муторно. Метод ssi я так понял не подходит.
Спасибо!

Обсуждение

Неизвестный
20.04.2007, 11:52
общий
это ответ
Здравствуйте, Loed!
Вобщем, просто копипастом... Если просто не знаете как выдрать данный кусок с какой-либо страницы, то <пр.кн.мыши - просмотр кода HTML(или "в виде HTML) и смотрите...
Неизвестный
20.04.2007, 15:08
общий
это ответ
Здравствуйте, Loed!

Например, с помощью фреймов, т. е. так: <b><iframe src="http://sovetyotangel7.my1.ru"></iframe></b>

Или, если у Вас сайт на юкозе - функция <b>‘Импорт удаленного кода‘</b>.

Удачи!
Неизвестный
21.04.2007, 00:06
общий
это ответ
Здравствуйте, Loed!

Можно также воспользоваться скриптом для вставки фрагментов в HTML-страницу.
Этот скрипт позволит Вам вставлять в страницу содержимое
внешних файлов. Делается это на стороне клиента в браузере. Скрипт предназначен главным образом для тех, у кого на хостинге не разрешены SSI, но "позарез" нужно что-то подобное, или для вставки фрагментов страницы с других серверов. Фрагменты вставляются на страницу как внешние JavaScript-ы, формируемые этим CGI-скриптом из обычных HTML-фрагментов.

Использование скрипта
А. Настройте скрипт, изменяя следующие его переменные (в начале):
$basepath - базовый физический путь Вашего сайта на сервере.
$idxfile - имя файла-индекса Ваших "инклюдов" (по умолчанию - idx.txt).
B. Сформируйте файл-индекс Ваших инклюдов следующим образом:
каждая строчка имеет следующий формат:
(id):::(путь)
Где (id)-идентификатор данного "инклюда", адресуемого полем "путь". (путь)-относительный ФИЗИЧЕСКИЙ путь к файлу "инклюда" на сервере.
Переменная скрипта $basepath введена для удобства, чтобы в каждой строчке файла idx.txt не надо было прописывать полный физический путь. Полный физический путь к данному инклюду образуется складыванием $basepath и пути конкретного инклюда из idx.txt. При этом, если $basepath завершается у Вас слешем, то в параметрах (путь) передний слэш не нужен.
Разместите сформированный файл на сервере.
C. Для вставки "инклюда" с конкретным id в HTML-страницу вызывайте скрипт следующим образом:

<B><SCRIPT SRC="/cgi-bin/ssi.cgi?id=ID">
</SCRIPT></B>

где ID - id кокретного инклюда, который нужно вставить в данное
место страницы.
3. Если при работе скрипта произошла ошибка (невозможно найти файл и т.п.), то вместо файла в страницу вставится сообщение об ошибке (сделаны на английском языке, чтобы в любой кодировке были удобочитаемы):
[Insert Error - no such index] - в файле-индексе такого инклюда с таким индексом нет.
[Insert Error - file not found] - не удается найти нужный файл.

Ну и наконец сам пример скрипта (в приложении).

Успехов!



Приложение:
################### Файл ssi.cgi ###################$basepath="/usr/home/user/public_html/"; # Базовый физический путь к Вашему сайту на сервере$idfile="idx.txt"; # Файл-индекс$query=$ENV{‘QUERY_STRING‘};foreach $item(split(/&/,$query)) { ($name,$value)=split (/=/,$item); $value=~tr/+/ /; $value=~ s/%(..)/pack("c",hex($1))/ge; $PARAM{$name}=$value;};open IDX,"idx.txt";@ids=<IDX>;close IDX;foreach $itm(@ids) {chomp $itm;($id,$uri)=split (":::",$itm);$FN{$id}=$uri;}$r=$PARAM{‘id‘};if ($r ne ""){ $fullpath=$basepath.$FN{$r};if (-e $fullpath){open INC,$fullpath;@lines=<INC>;close INC;}else {@lines=("[Insert Error - file not found]")};}else {@lines=("[Insert error - no such index]")};print "Content-Type: text/javascript\n\n";foreach $itm(@lines){chomp $itm;$itm=~s/"/\"/g;$itm=~s/\‘/\\‘/g;$itm=~s/\xFF/\\\xFF/g;print "document.write(‘$itm‘);\n";
Форма ответа