|
|
|
| Приветствую!!!
есть код
function fv_Zagryzka_spiskov () //загрузка списков зависемости от самолета
{
document.getElementById("spisok1").innerHTML = Slugbe;
document.getElementById("spisok2").innerHTML = Slugba;
document.getElementById("spisok").innerHTML = document.getElementById("spisok").innerHTML + <?=$Ty;?>;
document.getElementById("checkbox3").className="input_spisok_dv";
}
|
Код рабочий - работает если находится в общем коде (в body). При выносе в отдельном файле не работает. Не нравиться скрипт php. Что не так? | |
|
|
|
|
|
|
|
для: mikado3333
(28.01.2013 в 11:15)
| | если не ошибаюсь, только в файле .php можно такой финт ушами делать . | |
|
|
|
|
|
|
|
для: mikado3333
(28.01.2013 в 11:15)
| | Выносим скрипт в файл .js? А сервер не будет в нем исполнять php-скрипты. Поэтому придумайте, как передать переменную в функцию при вызове. | |
|
|
|
|
|
|
|
для: DJ Paltus
(28.01.2013 в 11:49)
| | ошибка в браузере Unexpected token < -такое чувство что ему кавычка не нравиться, а не сам php/ | |
|
|
|
|
|
|
|
для: mikado3333
(28.01.2013 в 12:10)
| | файл js подключается на клиенте, ему синтаксис пхп незнаком, вот и ругается :) | |
|
|
|
|
|
|
|
для: btr
(28.01.2013 в 12:13)
| | понял, Всем большое спасибо! | |
|
|
|
|
|
|
|
для: mikado3333
(28.01.2013 в 11:15)
| | в файле .htaccess в инструкциях AddType и/или AddHandler прописаны типы файлов, в которых разрешается выполнение PHP-сценариев
что-то типа такого:
AddType application/x-httpd-php .php .html
или
AddHandler application/x-httpd-php .php .html
|
файлы типа .js обычно туда не включаются
добавьте
AddType application/x-httpd-php .php .html .js
или
AddHandler application/x-httpd-php .php .html .js
|
| |
|
|
|
|
|
|
|
для: ЯСА
(28.01.2013 в 17:37)
| | это вроде для include()?
разве пхп будет просматривать файл, подключенный тегом <script>?
мне кажется, что этом уже браузер занимается? ошибаюсь? | |
|
|
|
|
|
|
|
для: btr
(28.01.2013 в 17:41)
| | 1. ЛЮБЫЕ файлы ВСЕГДА находятся на сервере и ВСЕГДА там остаются
2. в браузер с сервера поступает ЦИФРОВАЯ КОПИЯ файла
3. для того, чтобы цифровая копия файла поступила в браузер, браузер отсылает HTTP-ЗАПРОС серверу
4. сервер, получив этот http-запрос, отсылает браузеру HTTP-ОТВЕТ, в котором сообщает о существовании запрашиваемого файла на сервере и, если такой файл есть - минимальную информацию о нём, в том числе размер файла и дату его последнего изменения
5. браузер, получив размер и дату, ищет такой файл в своём кеше - если имеющийся в кеше файл имеет такие же размер и дату, то браузер прекращает общение с сервером и берёт файл из своего кеша
6. если же файла в кеше нет (или он иного размера или с просроченной датой), то браузер просит сервер дать ему цифровую копию файла
7. сервер, получив эту отмашку, начинает "готовить" эту цифровую копию и при этом "изготовлении" сервер "оглядывается" на установки, прописанные в файле .htaccess
и ещё раз повторяю - таковые действия происходят при передаче браузеру цифровых копий ЛЮБЫХ файлов - и .php, и .html, и .jpg, и .gif, и .css, и .js ... | |
|
|
|
|
|
|
|
для: ЯСА
(28.01.2013 в 17:52)
| | это все понятно
но мне кажется, сейчас Вы не о том..
есть файл page.php
являющийся скриптом для динамического изготовления документа штмл
в нем есть строка типа:
echo "<SCRIPT src='js\func.js'></SCRIPT>";
которую пхп выполнил и отправил браузеру.
файл func.js запрашивается браузером отдельно уже вне потока исполнения скрипта page.php,
соответственно, кусочек пхп кода в нем невозможен???
поправьте, если не так понимаю? | |
|
|
|
|
|
|
|
для: btr
(28.01.2013 в 18:04)
| | опять не поняли
1. никакого "потока исполнения PHP-скрипта" не существует
2. существует процесс изготовления цифровой копии файла
3. происходит этот процесс на сервере по http-запросу браузера
4. получил сервер запрос на копию файла page.php - он его изготовил, включив ТОЛЬКО на время "изготовления" PHP-интерпретатор
5. как только сервер "изготовил" копию, PHP-интерпретатор выключается и только после этого сервер отправляет браузеру цифровую копию файла page.php
цифровая копия файла page.php уже не содержит никаких echo и print - в ней только HTML+CSS+JS
6. браузер, получив цифровую копию файла page.php, начинает его отображать в браузере
7. встретит браузер при отображении тег <img src="mypic.gif">, браузер посылает серверу НОВЫЙ http-запрос на получение копии файла mypic.gif и происходит всё то, что я описал в предыдущем своём посте в семи пунктах, в том числе и подключает при необходимости PHP-интерпретатор
а встретит <SCRIPT src='js\func.js'></SCRIPT>, посылает НОВЫЙ запрос на получение копии файла js\func.js... и заново, если нужно, включит PHP-интерпретатор на время изготовления этого файла
PHP-интерпретатор работает только на сервере
PHP-интерпретатор - это простой слесарь на заводе, который собирает автомобиль (цифровую копию файла)
и этот работяга совершенно НЕ ЗНАЕТ, какой олигарх (браузер) этот автомобиль купит
это знает только его начальство (сервер), получив предоплату (http-запрос от браузера)
единственное отличие слесаря АВТОВАЗА от PHP-интерпретатора - слесарь работает посменно и может работать "впрок" по плану, посылая автомобили на склад
а PHP-интерпретатор вызывается исключительно при необходимости и только на время изготовления копии конкретного файла | |
|
|
|
|
|
|
|
для: ЯСА
(28.01.2013 в 18:16)
| | мы с Вами спорим непонятно о чем. опять я полностью с Вами согласен, и опять Вы не о том.
конкретно: Ваш 7пн.:
встретит <SCRIPT src='js\func.js'></SCRIPT>, посылает НОВЫЙ запрос на получение копии файла js\func.js... и заново, если нужно, включит PHP-интерпретатор на время изготовления этого файла
но информация об объявленных переменных и проч для пхп будет отсутствовать, что он поставит на место переменной $Ty? | |
|
|
|
|
|
|
|
для: btr
(28.01.2013 в 18:28)
| | а это уже ВАША забота
js\func.js - это отдельный файл, с файлом page.php НИКАК НЕ СВЯЗАННЫЙ
если делаете PHP-вставку в этом js-файле, то вы должны понимать, что PHP-интерпретатор включится ВНОВЬ и никаких переменных в этом файле не будет предопределено... кроме переменных окружения, которые PHP-интерпретатор получит от сервера (а тот - от браузера) при http-запросе | |
|
|
|
|
|
|
|
для: ЯСА
(28.01.2013 в 18:34)
| | :) не моя, а автора поста :)
и опять не могу с Вами не согласиться :)
думаю, вопрос исчерпан досуха
как появятся вопросы - обязательно к Вам обращусь | |
|
|
|
|
|
|
|
для: ЯСА
(28.01.2013 в 18:34)
| | ЯСА, здравствуйте!
У Вас талант все объяснить исчерпывающе и наглядно. Спасибо большое.
По сути. В php мы можем хэдером формировать HTTP-заголовки. Так?
Например:
<?
//"ip.php" example- display user IP address on any page
Header("content-type: application/x-javascript");
$serverIP=$_SERVER['REMOTE_ADDR'];
echo "document.write(\"Your IP address is: <b>" . $serverIP . "</b>\")";
?>
|
And once called by external JavaScript:
<script type="text/javascript" src="ip.php"></script>
|
Header("content-type: application/x-javascript"); - и браузер развесит уши.
http://www.javascriptkit.com/javatutors/externalphp.shtml | |
|
|
|
|
|
|
|
для: Deed
(28.01.2013 в 20:43)
| | и так можно
но и здесь в файле ip.php надо помнить, что PHP-интерпретатор включится ВНОВЬ и никаких переменных, кроме переменных окружения, этот интерпретатор при своём включении не знает
в вашем примере как раз использована переменная окружения REMOTE_ADDR
------------
"талант все объяснить исчерпывающе и наглядно" - он имеется у каждого
"любую (даже самую сложную) проблему можно объяснить на пальцах любому (даже самому тупому), но при одном условии - если объясняющий сам понимает эту проблему"
это не я сказал
это академик Капица | |
|
|
|
|
|
|
|
для: ЯСА
(28.01.2013 в 21:27)
| | Мне стало интересно, и я в подключаемый файл передал через сессию длинную-предлинную строку.
И она вывелась. Хотя, да, переменные из состава $_SESSION являются переменными окружения. И это хорошо. Через POST, GET & SESSION мы можем динамически менять сценарий JS.
В противном случае я не вижу смысла в подобных ухищрениях. | |
|
|
|
|
|
|
|
для: Deed
(28.01.2013 в 22:48)
| | Если кому интересно. То я просто заменил js на php и запехнул include- ом. Как я понял браузер пропустил бы если бы я переменную Ty взял бы в кавычки, посчитав ее за строку. Но так как это полученная переменная является именем переменной javascript в кавычки брать нельзя. Иначе вместо переменной с ее содержанием получи просто текст Ту(если одинарные) или значение $ty (если двойные) в виде строки. Поправьте если я не прав. | |
|
|
|
|
|
|
|
для: mikado3333
(30.01.2013 в 00:31)
| | Если вы ради одной переменной будете скармливать php-парсеру пустое для него, то ничего хорошего из этого не получится. Выносите эти переменные из js-файла и используйте их как глобальные js-переменные, формируемые в js-коде на странице. А весь остальной js-массив как подключаемые внешние файлы. | |
|
|
|