Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: от 06 Марта 2002, 15:24:40

Название: Срочно!!!
Отправлено: от 06 Марта 2002, 15:24:40
У меня 2 вопроса!!!

1)
Почему когда JS открывается из html, то ssi грузятся, а если его засовываешь в js - то не грузится!!!

И еще, почему если в переменных скрипта прописанного в html файле прописан ssi, то он грузится до того как вызвали переменную!

Как можно обойти эти глюки???

2)Мне надо сделать чтобы при нажатии на java-ссылку в файле
1.html он передавал данные файлу script.js, а файл script.js открывал бы файл 2.html и ему тоже переменные передавал!!

Тоесть если я в файле 1.html нажму ссылку
foto1
То скрипту script.js передавался бы параметр 41, и он открывал бы файл 2.html в котором грузилась бы картинка 41.jpg

а если я в файле 1.html нажму ссылку
foto1
То скрипту script.js передавался бы параметр 10, и он открывал бы файл 2.html в котором грузилась бы картинка 10.jpg

БОЛЬШОЕ СПАСИБО!!!

P.S. Я вас не запарил???
Название: Срочно!!!
Отправлено: ЖеньКа от 06 Марта 2002, 15:37:25
Не, не запарил, но напугал сильно ;)
Про SSI ещё раз и внятно. С ними я тебе помогу. С явой - тут есть помощники.
Название: Очень просто:
Отправлено: puh от 06 Марта 2002, 15:58:41
1. SSI - Server side include, т. е. вставки НА СТОРОНЕ СЕРВЕРА. В то время как JavaScript - язык, обрабатываемый на стороне клиента (т. е. прямо в броузере). Вот и подумай - как после того как страница полностью загружена вставить в нее на стороне сервера кусок с помощью клиентского скрипта? (В принципе слышал, что это реально, посмотри в прошлых постингах)
2. Просто функция foto() должна быть внутри твоего script.js, который ты подключаешь с помощью
foto1
foto2


А файл script.js такой!!!

function foto(a){
var mWin = window.open ("", "dWin");
var header = "<!--#include virtual=\'title.shtml\' --> - Tatoos
















";
var footer = "
";
var image = "" + header + "" + footer + "";
mWin.document.open ();
mWin.document.write (image);
mWin.document.close ();
}


Надо чтобы при нажатии на ссылку в файле 1.html открывался файл содержащий header и footer из файла script.js, а между ними была картинка 41.jpg - при нажатой ссылке
foto1
И картинка 10.jpg при нажатой
foto1


Так-то вроде все работает, но вот строчки вставляемые через ssi не грузятся!!! см. файлы вверху!

P.S. у меня стоит АРАСНЕ web-server? Так что SSi пахать должно!!!(на обычный html файлах все пашет(в смысле SSI)).
Название: Срочно!!!
Отправлено: puh от 07 Марта 2002, 18:33:27
Сама идея - генерировать ХТМЛ с помощью Явы здесь ущербна, так как см. мой же постинг выше (из-за document.write исключительно).
Единственным выходом будет открытие ГОТОВОГО файла с сервера в котором с помощью его же ява-функции вставляется ТОЛЬКО нужная картинка.
self.opener.a используй для того, чтобы узнать какую картинку вставлять.
Название: Срочно!!!
Отправлено: ЖеньКа от 07 Марта 2002, 19:32:31
Точно! Тебе нужно всё построить именно на ssi а яву только для доведения для ума использовать. Имхо.
Название: Срочно!!!
Отправлено: Макс от 08 Марта 2002, 02:12:46
Ты читал то что я написал?
Цитировать
Насколько я знаю хостер настраивает сервер так, чтобы ssi парсились только в .shtml (иногда еще в .html).
А ты ведь инклюдишь .js, вот SSI и не вставляется в него.
Покажи строку из httpd.conf которая отвечает за ssi.

PS
Просто предположение.
Попробуй script.js переименовать в script.shtml (правда я такого не делал)
ИМХО так апач должен будет вставлять ssi-шные вставки.
Название: Срочно!!!
Отправлено: от 08 Марта 2002, 06:51:45
А файл script.js сам по себе и не открывается!
Он открывает файл в статусной строке которого написано about:blank ...

"Сама идея - генерировать ХТМЛ с помощью Явы здесь ущербна, так как см. мой же постинг выше (из-за document.write исключительно).
Единственным выходом будет открытие ГОТОВОГО файла с сервера в котором с помощью его же ява-функции вставляется ТОЛЬКО нужная картинка.
self.opener.a используй для того, чтобы узнать какую картинку вставлять."


Мне нужно это!!!
Как открыть существующий файл, на чтобы в нем по яве вставлялись картинки???
Название: Срочно!!!
Отправлено: Макс от 08 Марта 2002, 12:30:44
- Доктор, меня игнорируют!
 - Следующий !!!

Я тебе в 3-ий раз объясняю, что у тебя SSI не вставляются, потому как указаны они в js-файле. Если они у тебя в html вставляются, то это еще не значит что их можно использовать где угодно.
У Апача в https.conf написано, для каких расширений можно использовать SSI (чаще всего это .shtml и .html). И когда сервер отдает документ, он смотрит, какое у него расширение, если shtml (или html) он проверяет его на наличие SSI-вставок и парсит.
А тебя эти вставки находятся в js-файле. Который сервером не проверяется на наличие SSI.

Делаешь так:

1.html



foto1
foto2


script.shtml:
function foto(a){
var mWin = window.open ("", "dWin");
var header = "<!--#include virtual=\'title.shtml\' --> - Tatoos
















";
var footer = "
";
var image = "" + header + "" + footer + "";
mWin.document.open ();
mWin.document.write (image);
mWin.document.close ();
}


Еще один вариант решения твой проблемы:
в 1.html делаешь такие ссылки:
foto 41

а b.html примерно такой код:


Bla bla bla

Название: Срочно!!!
Отправлено: puh от 08 Марта 2002, 13:41:02
Файл с картинкой [например image.html]:


<!--#include virtual=\'title.shtml\' --> -Tatoos



















































































Ссылка, открывающая сей файл:




Второй способ макса хорошь, но если ты не хочешь светить имена файлов в строке адреса  можешь использовать такой...