Файл index.php берет контент и делает с ним нужные манипуляции. Затем, в него цепляются файлы шаблона: header.php, sidebar.php, footer.php. В файлах шаблона происходит окончательный вывод контента. В начале header.php (и начале итогового HTML-выхлопа) подключается библиотека jQuery <script type="text/javascript" src="jquery-1.9.1.min.js"></script> И внешний JS-файл <script src="file.js"></script> В файле file.js выполняется php-код (разрешено в .htaccess). ==== Не хочется лишний раз проводить php-вычисления внутри file.js, а хочется брать готовые результаты из index.php. Но как это сделать? Как же их подцепить? Не инклудить же в JS-файл ради пары переменных все ядро движка?
Код (PHP): <?php $variable='text variable'; ?> <script type="text/javascript"> var variable='<?=$variable?>'; </script>
Если речь идёт о том как передать переменные из php в js, то нужно перенести php код из file.js, который вычисляет значения, подставляемые в file.js, в index.php. Присвоить переменным нужные значения, а в file.js выводить эти переменные. К примеру, файлы до изменений: index.php Код (Text): ... ... file.js Код (Text): item_id = document.getElementById('item_<?php echo mysql_result(mysql_query('SELECT MAX(`id`) FROM `items`'), 0, 0); ?>'); Файлы после изменений: index.php Код (Text): ... $maxItemID = mysql_result(mysql_query('SELECT MAX(`id`) FROM `items`'), 0, 0); ... file.js Код (Text): item_id = document.getElementById('item_<?php echo $maxItemID; ?>');
В файле index.php произошло такое вычисление: Код (Text): <?php $domain=$_SERVER['HTTP_HOST']; ?> В файле file.js нужно использовать уже полученное вычисление: Код (Text): <?php echo $domain; ?> - - - - Как сделать так, чтобы file.js получил переменную $domain?
переменные можно задать гденить так echo "<script>var domain='$domain';</script>"; а скрипт file.js подключить после этого. и использовать эту переменную в нём спокойно.
Работает... Вот только на html-выхлопе получается бесполезная портянка из назначений, которая показывает названия переменных всем заглянувшим в исходный код страницы. За такой исходник стыдно становится Можно как-нибудь иначе реализовать?
кстати по такой же тематике у меня вопрос ) как сделать js чтоб через некоторое время обновлялась циферка (сколько на сайте) . ведь вконтакте реализованно но выдрать не получается ))
Ну дак, сделайте отдельный модульный файл которые будет на сервере обрабатываться событиями POST, SESSION, GET, то есть импортироваться будут только при событии при этом обязательно сделайте защиту файла, чтобы не переходили на него с браузера адреса вида: http://yoursite.ru/file.php?get=name Конечно же нельзя без обработки на сервере отдавать js параметры конфигурации и не безопасные данные, такие как пароли, базы и т.д. Ибо javascript он отобразится в браузере, что отдал php сервер. Добавлено спустя 11 минут 54 секунды: setInterval $_SESSION['setinterval'] У vk уж поверьте много чего на сервере подключено для этой соц сети, не думайте, что вы такие вот мего программисты, не подумав, не прочитав про это, считаете, что это сделать будет просто. Да! Те, кто знают им просто) Можно попробовать к примеру серверный тип javascript и настроить у себя на web'e. Чтобы знать, что кто-то есть на сайте, когда открыли страницу, или перешли на вкладку другую (при этом онлайн будет меньше, но будет обновляться постоянно, есть или нет, он перешел на другую вкладку событие прекратится, что он на сайте его не будет "-1", зашел будет "+1") Кароче скажу, так нужен язык которые будет более шире.