![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Su_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 1.8.2007 Репутация: нет Всего: нет |
Доброе утро.
Вопрос, простой, скорее для обозрения взаимодействия js и php/ Как сделать что бы js работал из-под Php? Сделал так:
работает, но это надо весь JS конвертить под hmtl тег, это довольно затруднительно.. Есть ли альтернативные варианты.. и делают ли вообще так? p.s. Идея:Динамическое меню,с использованием эффектов :1) добавление в бд нового пункта меню(через CSM) 2)php его обрабатывает 3)генерит js скрипт на красивую обработку меню Это сообщение отредактировал(а) Su_ - 15.10.2009, 03:27 |
|||
|
||||
| FortMax |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 485 Регистрация: 2.10.2006 Где: Россия, г. Бироби джан ЕАО Репутация: 1 Всего: 5 |
просто вставляем в код пхп контейнер джаваскрипта, мухи отдельно компот отдельно
Это сообщение отредактировал(а) FortMax - 15.10.2009, 04:15 -------------------- ![]() |
|||
|
||||
| Su_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 1.8.2007 Репутация: нет Всего: нет |
Знакомые люди)
Логично, но если мне нужно сделать чтобы php генерил js скрипт? хотя можно отдельно выполнить все в php, вывести нужные данные, и потом запустить js уже в html коде) Спасибо) |
|||
|
||||
| SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Мб так?
Добавлено через 2 минуты и 2 секунды Ну это не совсем то, что ты хочешь... Это опять же вставка в готовый ЖС кусков ПХП... Есть какая-то функция для экранирования всех кавычек и вообще для приведения текста к форматированному для ПХП виду, но какая- не помню -------------------- Всем добра |
|||
|
||||
| solenko |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 34 Всего: 67 |
Честно говоря, так и не понял в чем проблемма топикстартера. В том, что нуно дописывать тег script и это муторно? Ну так вынесите это в отдельную функцию.
А вообще-то есть более правльный подход к созданию таких меню -- менюшка выводится в html как обычный список ссылок. Далее js, который обычно лежит вообще в отдельном файле, на событии DOMContentLoaded обрабатывает эту менюшку и навешивает необходимые события. Красотой и сокртыием неактивных пунктов занимается CSS. Зачем так? Потому что: 1. Поисковик найдет ваше меню в html коде, где ему и положенно быть. Да, говорят, поисковики научились анализировать js, но я бы не надеялся на это 2. Пользователь, у которого отключен js сможет воспользоваться сайтом.(скажете такие пользователи давно вымерли? А хрен там -- самому иногда с сервака из links приходится серфить) 3. Вы получаете логично разделенные части, которые можно отлаживать отдельно и они могут быть отлажены разными людьми 4. Это повышает возможность повторного использования. -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
| skyboy |
|
||||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
не смотря на то, что solenko указал на архитектурно правильное решение, для полноты картины видения мира замечу, что js можно формировать и без HTML тегов. вот, например, HTML-страница содержит в себе:
а в menu.php
точно так же, как можно указать адрес PHP-скрипта в качестве атрибута src для CSS(<link ... href='css.php') или картинки(<img src="image.php" ...) или другого указания URL. только очень-очень желательно отдавать соответствующие заголовки Content-Type и те, что влияют на кеширование(ETag, Last-Modified, Expires, Cache-Control). вот только стоит понимать, что статический элемент(выдача происходит непосредственно, без предварительной генерации) сервер отдает намного быстрее, чем происходит запуск PHP, генерация контента и выдача его. Поэтому динамической генерацией того, что может быть отдано статически - увлекаться не стоит. И если уж увлекаешься - предусмотреть сохранение сгенерированных данных в файл. Так, чтоб каждый раз не гонять PHP. И второе замечание: если мы говорим не о бинарных данных(картинка, файл-документ, архив), а о текстовом содержимом, то лучше разделять данные на изменчивую и неизменную часть. И генерировать только ту часть, что меняется. В случае с javascript это означает написать javascript-функцию и сохранить её в статичном js-файле, а генерировать только вызов этой функции в странице и список аргументов. |
||||
|
|||||
| Su_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 1.8.2007 Репутация: нет Всего: нет |
спасибо всем , попробую накидать примерчик, с учётом замечаний. Про архитектуру очень полезная информация, может кто посоветует книжечку или статейки хорошие?
|
|||
|
||||
| capitan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 602 Регистрация: 27.2.2005 Где: Москва Репутация: 9 Всего: 13 |
Что-то я так и не понял о чем идет речь. PHP - исполняется на стороне сервера, JS - на стороне клиента. Отсюда вывод: в JS можно встроить php, а вот в PHP встроить JS нельзя. Но есть проект http://kevin.vanzonneveld.net/techblog/category/php2js/ там многие PHP функции переписаны на JS.
Это сообщение отредактировал(а) capitan - 15.10.2009, 15:22 |
|||
|
||||
| Su_ |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 386 Регистрация: 1.8.2007 Репутация: нет Всего: нет |
хм, почему? как я понял можно, но не нужно. Клиент получает конечный Html код,который интерпретирует броузер.. Первый пост показывает это. или я не прав?. Спасибо за ссылку!)
|
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 71 Всего: 315 |
capitan, говорит, что вы не корректно пользуетесь терминологией
использовать js внутри php или наоборот невозможно, так как они работают в разные моменты времени на разных машинах. один на клиенте, другой на сервере но вы можете сгенерировать javascript-код на стороне сервера с помощью php правильное слово - генерировать |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |