|
|
|
|
|
для: mikado3333
(30.01.2013 в 00:31)
| | Если вы ради одной переменной будете скармливать php-парсеру пустое для него, то ничего хорошего из этого не получится. Выносите эти переменные из js-файла и используйте их как глобальные js-переменные, формируемые в js-коде на странице. А весь остальной js-массив как подключаемые внешние файлы. | |
|
|
|
|
|
|
|
для: Deed
(28.01.2013 в 22:48)
| | Если кому интересно. То я просто заменил js на php и запехнул include- ом. Как я понял браузер пропустил бы если бы я переменную Ty взял бы в кавычки, посчитав ее за строку. Но так как это полученная переменная является именем переменной javascript в кавычки брать нельзя. Иначе вместо переменной с ее содержанием получи просто текст Ту(если одинарные) или значение $ty (если двойные) в виде строки. Поправьте если я не прав. | |
|
|
|
|
|
|
|
для: ЯСА
(28.01.2013 в 21:27)
| | Мне стало интересно, и я в подключаемый файл передал через сессию длинную-предлинную строку.
И она вывелась. Хотя, да, переменные из состава $_SESSION являются переменными окружения. И это хорошо. Через POST, GET & SESSION мы можем динамически менять сценарий JS.
В противном случае я не вижу смысла в подобных ухищрениях. | |
|
|
|
|
|
|
|
для: Deed
(28.01.2013 в 20:43)
| | и так можно
но и здесь в файле ip.php надо помнить, что PHP-интерпретатор включится ВНОВЬ и никаких переменных, кроме переменных окружения, этот интерпретатор при своём включении не знает
в вашем примере как раз использована переменная окружения REMOTE_ADDR
------------
"талант все объяснить исчерпывающе и наглядно" - он имеется у каждого
"любую (даже самую сложную) проблему можно объяснить на пальцах любому (даже самому тупому), но при одном условии - если объясняющий сам понимает эту проблему"
это не я сказал
это академик Капица | |
|
|
|
|
|
|
|
для: ЯСА
(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 | |
|
|
|
|
|
|
|
для: ЯСА
(28.01.2013 в 18:34)
| | :) не моя, а автора поста :)
и опять не могу с Вами не согласиться :)
думаю, вопрос исчерпан досуха
как появятся вопросы - обязательно к Вам обращусь | |
|
|
|
|
|
|
|
для: btr
(28.01.2013 в 18:28)
| | а это уже ВАША забота
js\func.js - это отдельный файл, с файлом page.php НИКАК НЕ СВЯЗАННЫЙ
если делаете PHP-вставку в этом js-файле, то вы должны понимать, что PHP-интерпретатор включится ВНОВЬ и никаких переменных в этом файле не будет предопределено... кроме переменных окружения, которые PHP-интерпретатор получит от сервера (а тот - от браузера) при http-запросе | |
|
|
|
|
|
|
|
для: ЯСА
(28.01.2013 в 18:16)
| | мы с Вами спорим непонятно о чем. опять я полностью с Вами согласен, и опять Вы не о том.
конкретно: Ваш 7пн.:
встретит <SCRIPT src='js\func.js'></SCRIPT>, посылает НОВЫЙ запрос на получение копии файла js\func.js... и заново, если нужно, включит PHP-интерпретатор на время изготовления этого файла
но информация об объявленных переменных и проч для пхп будет отсутствовать, что он поставит на место переменной $Ty? | |
|
|
|
|
|
|
|
для: 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 в 17:52)
| | это все понятно
но мне кажется, сейчас Вы не о том..
есть файл page.php
являющийся скриптом для динамического изготовления документа штмл
в нем есть строка типа:
echo "<SCRIPT src='js\func.js'></SCRIPT>";
которую пхп выполнил и отправил браузеру.
файл func.js запрашивается браузером отдельно уже вне потока исполнения скрипта page.php,
соответственно, кусочек пхп кода в нем невозможен???
поправьте, если не так понимаю? | |
|
|
|
|