![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Lapochka |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 10.10.2005 Где: Москва Репутация: нет Всего: 1 |
ребят.. такая проблемка.. есть такая вот страничка:
а как сделать так чтобы то что написано на JavaScript работало в Perl? напишите хотя бы примерчик! а если кому-то не сложно то перловский файлик для этой странички. буду благодарна по гроб жизни! |
|||
|
||||
| DEER |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 749 Регистрация: 12.4.2005 Где: г. Рязань Репутация: 2 Всего: 13 |
Если страница статическая, то есть не генерируется из БД, то смысл использовать perl скрипт для её генерации теряется...
Но если очень нужно, можно написать так
-------------------- |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 12 Всего: 84 |
жуть...
|
|||
|
||||
| Lapochka |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 10.10.2005 Где: Москва Репутация: нет Всего: 1 |
пасиб.. завтра попробую как встану.. надеюсь заработает )
а если нет ждите весточки!!! |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
;)))))) На самом деле всё не так уж плохо, спсобов тьма. Если не хочешь отделять разметку от кода, то можно воспользоваться конструкцией "Документ здесь".
В итоге, получаем тот же результат, что и с большим кол-вом perint. Конечно же код html меняй на свой. Так же, можно воспользоваться qq или q, а можно и просто в отедельный файл его вынести, открывать и выводить код из него или хранить в конеце этого же файла после его логического конца. Это сообщение отредактировал(а) korob2001 - 14.4.2006, 00:35 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Lapochka |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 10.10.2005 Где: Москва Репутация: нет Всего: 1 |
korob2001
как html вставить я знаю.. с этим нет вообще никаких проблем!!! как сделать чтобы javascript заработал DEER если бы это еще работало Это сообщение отредактировал(а) Lapochka - 15.4.2006, 13:27 |
|||
|
||||
| BlackLFL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 3 Всего: 12 |
||||
|
||||
| Lapochka |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 10.10.2005 Где: Москва Репутация: нет Всего: 1 |
BlackLFL
не поняла? как это не при чем? если ты не понял.. то мне нужно чтобы страничка, код которой я написала.. полностью работала в перле. т.е. чтобы вместо http://localhost/index.html .. писать в http://localhost/cgi-bin/index.pl (исп. апач) но грузилось чтобы одно и тоже! чтобы и менюшка нормально работала и все остальное тоже! Это сообщение отредактировал(а) Lapochka - 15.4.2006, 13:31 |
|||
|
||||
| BlackLFL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 3 Всего: 12 |
Я все понял, а Вы боюсь не понимаете различие между Perl и JS. Напишите
и посмотрите результат Добавлено @ 13:45 HTML, JS это текст, и вставляется одинаково ... |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Ну а если так попробовать? Это сообщение отредактировал(а) korob2001 - 15.4.2006, 15:09 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Lapochka |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 10.10.2005 Где: Москва Репутация: нет Всего: 1 |
я ж говорю.. при помощи обыкновенной вставки в принт нифига не работает. и просто как текст JS не вставить.. потому что работать нифига не будет!!
кто не верит. включите апач и посморите! если б так работало я б наверное не писала сюда!!! Добавлено @ 18:43 BlackLFL Перл - на стороне сервера, JS - на стороне клиента! перл не понимает вообще <script>!!!! не понимает!!! и код который ты написал не работает!!! |
|||
|
||||
| korob2001 |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
А по твоему тут никто, кроме тебя, апач не включал? ;)))))) Я не первый раз генерирую код JavaScript. Тот код, который я тебе показал, прекрасно работает.
Это и есть ответ на твой вопрос. 1. Клиент отправляет запрос на сервер. 2. Сервер обрабатывает запрос. 3. Если клиент обратился к исполняемому файлу, то сервер запускает запрашиваемое приложение (нашу программу). 4. Та генерирует ему запрашиваемую страницу. 5. Сервер отправляет её клиенту. Заметь, что сначала страница генерируется на сервере ( вместе с кодом JavaScript, который и не должен выполняться на сервере, он не имеет никакого отношения к Perl или к серверу), затем сервер отправляет ответ клиенту, а только после загрузки страницы, браузер анализирует и транслирует код JavaScript или VBScript да и вообще что угодно. Обрати внимание на выделенную часть, она указывает на дистанцию между клиентом и сервером. Вообще Perl не интересует, что он генерирует, лишь бы это не нарушало его правила.
ЗЫ: Кстати, так как твой JavaScript, достаточно большой, почему бы не подумать на тем, что бы вынести его в отдельный файл? Тогда Perl'у нужно будет вообще сгенерировать, только тег <script>. Это сообщение отредактировал(а) korob2001 - 15.4.2006, 21:53 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||
|
|||||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: нет Всего: 71 |
Я в перле не силен (случайно сюда зашел
images/curs.cur, group.htm, mail.htm и т.д. Естественно, если твой скрипт находится в директории cgi-bin, ниче работать не будет /images/curs.cur, /group.htm, /mail.htm и т.д. |
|||
|
||||
| Lapochka |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 10.10.2005 Где: Москва Репутация: нет Всего: 1 |
korob2001
мда.. наши преподы мудаки!!! нафиг тогда требовать чтобы в перловском файле работал JS смари. я работаю вот в dreamweaver.. и я там предположим создаю файл JS где описываю все мне необходимые функции.. а как его вызывать эти функции? я просто раньше так никогда не делала.. я с этим работаю тока месяц всего лишь! и в перле тогда как вставлять.. поподробнее плиз! оч буду благодарна |
|||
|
||||
| BlackLFL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 3 Всего: 12 |
А Perl ненадо понимать <script>, т.к. он отдает текст, и браузер сам уже решать будет, что ему делать с <script>.
Учите мат часть, проверяйте настройки браузера. Это сообщение отредактировал(а) BlackLFL - 15.4.2006, 23:59 |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 12 Всего: 84 |
А я чуток оффтопа... это где перл преподают 8) ?
Добавлено @ 00:04 Lapochka, какой у тебя браузер? Какую ошибку выдаёт скрипт (если выдаёт)? |
|||
|
||||
| korob2001 |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Я не знаю, кто у вас там преподы, хотя скорее всего они тут вообще не причём.
1. Создавай js файл. 2. Пиши в него код JavaScript. 3. Сохрани всё это дело. 4. Когда нужно будет подключить файл js, в теге <script> указывай атрибут src, где и указывай путь к твоему файлу js. Например: Файл main.js
Файл home.html
Ложишь оба файла в один каталог и запускаешь файл home.html Теперь Perl'у достаточно знать путь к js файлу и сгенерировать тэг <script></script>, вместо того, что бы генерировать и сам JavaScript, непосредственно в тело генерируемого документа. ЗЫ: Мой тебе совет: До тех пор пока ты не будешь отдавать себе полного отёта в том, что ты делаешь, ПОЛОЖИ ПОДАЛЬШЕ СВОЙ Dreamweaver, а потом ты и сама не захочешь им пользоваться. Но это так, совет. Ты можешь его послушать, а можешь и просто пропустить мимо ушей. ;)))))) -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||||
|
|||||||||
| shootnix |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 3.9.2005 Где: Казахстан Репутация: нет Всего: 2 |
Мдя, насчёт вставки JavaScript есть масса способов. Вот, к примеру, такой (здесь не обсуждалси):
|
|||
|
||||
| Paranoiamoto |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 14.4.2006 Где: Москва Репутация: нет Всего: нет |
nitr, Perl нам преподают в МАИ (Московский Авиационный Университет)
Самый простой способ:
Лапочка, Вместо qq||; пишем q%%; и все работает!;) Perl может натыкаться на знакомые ему |, например, в коде Java....поэтому у тебя и появляются ошибки. Поставь себе что-нибудь типа GridinSoft Notepad - там все замечательно видно! |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 12 Всего: 84 |
поправим код
т.к. ты можешь использовать проценты в коде ява-скрипта А выше писали! Никто конечно не заставляет... но всё же лучше хранить хтмл-код отдельно от перл-кода |
|||
|
||||
| BlackLFL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 3 Всего: 12 |
невсегда приемлимо, т.к. нельзя пользоваться табуляцией
выдаст ошибку Can't find string terminator "END_JS" anywhere before EOF ... Это сообщение отредактировал(а) BlackLFL - 16.4.2006, 20:42 |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 12 Всего: 84 |
BlackLFL, не в этом ошибка
Это уже не по теме обсуждение, тем более я указал, что лучше в файлах хранить, а вот с "%" согласись Тем более табуляцию не используют Это сообщение отредактировал(а) nitr - 16.4.2006, 21:14 |
|||
|
||||
| korob2001 |
|
||||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Почему нельзя? Если тебе нужно, что бы табуляция была в JavaScript, то достаточно лишь отключить интерполяцию. Например ставить два обратных слеша \\t, тогда Perl пропустит это, а JavaScript будет транслировать это как табуляцию. Можно так же отключить интерполяцию одинарными кавычками в начале, документа ТУТА
Здесь табуляцию и перевод строки делает не Perl, а JavaScript. Если ты имел ввиду то, что "Документ Здесь" должен всегда начинаться с начала строки, то обойти это можно довольно просто, вот тот же код, но "Документ Здесь" начинается с отступом:
Просто нужно в конце документа поставить такое же кол-во пробелов или табуляций, сколь ты сделал в его начале. Вот здесь:
Для "Документа Здесь", применимы все те же правила, что и для строк. Например вот так можно выплнить системную комаду, с использованием "Документа здесь":
А вот пример того, как создать воложенные "документы ЗДЕСЬ":
Заметь, что интерполяция отключена в теле этого "Документа здесь", до тех пор, пока не закончится вложенный документ. А вот пример того, как заполнить хеш из строк "документа здесь":
Это сообщение отредактировал(а) korob2001 - 17.4.2006, 09:54 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||||||||||
|
|||||||||||||
| BlackLFL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 3 Всего: 12 |
korob2001, спасибо, ты убрал пробел в моих знаниях! ( получай плюс
|
|||
|
||||
| Nasok |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 8.6.2006 Репутация: нет Всего: нет |
Пардон, у меня тоже вопрос касательно работы Перла и Яваскрипта.
Наверное не совсем сюда, просто незнал куда точно писать. Суть в следующем, Есть движек на перле ... и соответственно енекоторые функции на яваскрипте ... в своё время он был адаптирован под эксплоер .. и сейчас Мозила (к примеру) его не понимает. Может есть какие нить советы по опитимизации сайта под мозиллу ...не исключая эксплоера конечно. Я гвоорил с людьми мне сказали что это с Явой. Вот обращаюсь к вам. ЗАранее благодарен. ..а да и ссылка про то, о чём речь. www.rhhz.ru/cgi-bin/chat/frame.pl - это Чат. Под эксплоером отлично работает ..(под мозиллой не хочет.) :( |
|||
|
||||
| korob2001 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Там помоему у тебя проблемы не с JavaScript и Perl, а самой разметкой в правом фрейме. Посмотри исходник HTML, правого фрейма, например вот эта часть кода:
Это последние строки правого фрейма. У тебя начинается ячейка таблицы и в ней же начинается новый документ
Что за тэг </shtml>? Судя по всему SSI включение или просто CGI приложение генерирует не то, что нужно или же не там где нужно. IE просто такие вещи глотает пытаясь сам исправить все твои ошибки, FF этого не делает, точнее делает, но не с таким успехом. Это сообщение отредактировал(а) korob2001 - 8.6.2006, 08:12 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
||||
|
|||||
| Nasok |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 8.6.2006 Репутация: нет Всего: нет |
Спасибо, ну вот с тем что накладывается я разберусь, там просто действительно так сделано что на странице с атрибутом хайден сделано несколько вещей ...
и просто при нажатии определённой ссылки (в верхней части Чата) в правом фрэйме включается определённая (спрятанная ранее) информация ... как то список тех кто в чате, какие "тусы" итд ... с тем что это накладывается друг на друга .. я разберусь . .я. не совсем понимаю ... почему сам чат не запускается . .под эксплоером ... если видел .. там так же грузится и после загрузки запускается и всё окай .. а тут он даже грузить окно не хочет ... или у него последовательно ..пока не загрузит правый не будет центральный ? ... помойму врятли. Если есть время - посоветуй что нибудь .. могу выслать на емаил или по асе код яваскрипта ... который запускает барабан чата. просто он довольно большой : ) Чат у нас давно существует ... и просто вот только ща я отошёл от работы немного и решил его оптимизировать и под фаир фокс ...итд : ) Заранее благодарен. |
|||
|
||||
| afork |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Интересный момент ... у тебя js запускает main window .... ?
Если пришлешь скрипт на [email protected] ... погляжу ... |
|||
|
||||
| Zuzu |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 19.10.2006 Где: Екатеринбург Репутация: 1 Всего: 4 |
Браво! Тоже не знал! А как кувыркался в свое время с интерполяцией внутри "документа здесь"... Кстати, по поводу включения JS в код перл. Достаточно давненько написал программку. Она занималась "скрытием" (заменой на простейший JS) e-mail - адресов в HTML-коде. Естественно, замена e-mail производилась внутри CMS, пользователь набирал в визуальном редакторе "нормальные" адреса, а на страницу они уже выводилдись в "зашифрованном" виде. А чтобы алгоритым (назовем это так!) "шифрования" адреса (с помощью Perl на сервере) и "расшифровки" (на клиенте JS) совпадали, а вернее, чтобы была возможность безболезненно поменять в дальнейшем, модуль: 1. Смотрел дату своего обновления 2. Сравнивал с датой .js файла 3. Если Perl-модуль более новы, .js файл обновлялся. Код JS был "вписан" непосредственно в Perl файл. И при этом использовался вызов из HTML внешнего JS-файла. Так было проще. Вот так. =) --------------------
Проводить эксперименты на живом сервере опасно, а на мертвом - бесполезно. |
|||
|
||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |