php-константы в файле javascript

Возможный дубликат:
Передайте строку PHP переменной Javascript (и избегайте новых строк)

Я работаю над проектом, и это уже сделано, но ему нужно еще одно средство и его применение языковых констант в файлах javascript.

рассмотрим, что мы включаем файл javascript, и что у нас есть что-то вроде этого

alert("YOU Have VOTED BEFORE"); 

Так легко, сценарий будет предупреждать о том, что текст

но что, если нам нужно предупредить о его языковой константе:

  alert("<?php echo _VOTED_BEFORE?>"); 

это будет работать только в том случае, если эхо сценарий, как встроенные мои php-коды …

но как мы можем читать и включать php-константы или $ vars для внешнего файла JavaScript ???

Существует способ сделать это, используя строку запроса в пути сценария

См. Мой ответ здесь

Как передать переменную из php-шаблона в javascript

К сожалению, это сломает кеш для вашего js-файла, поэтому сначала оцените ваши варианты

 <script type="text/javascript" src="script.js?flag=<?php echo _VOTED_BEFORE?>"></script> 

для того, чтобы не писать слишком много кода, обратитесь к ссылке, чтобы узнать, как получить значение

Для более чистой структуры я считаю, что лучший способ – установить все данные, которые вы получаете из PHP, в одном месте, то есть в HTML, который вы используете через PHP:

 <script> var MyNameSpace = { config: something: "<?php echo _VOTED_BEFORE ?>" } } </script> 

В файл JavaScript, который вы MyNameSpace.config.something впоследствии, вы можете получить доступ к значению через MyNameSpace.config.something .

Это также облегчает повторное использование сообщения.

Собственно, то, что у вас было, было близким к правильному.

  <?php // Valid constant names define("VOTED_BEFORE", "false"); ?> <script type="text/javascript"> alert("<?php echo VOTED_BEFORE;?>"); </script> 

Если это не файл PHP, вы не можете включать в него функции эха PHP. Я предлагаю, чтобы, если вы хотите использовать переменную PHP в своих внешних js-файлах, объявите ее как глобальную в вашем PHP-файле, прежде чем ссылаться на внешние js.

 <script type="text/javascript"> var globalvar = '<?php echo _VOTED_BEFORE ?>' ; </script> <script type="text/javascript" src="externalfile.js"></script> 

Хотя не всегда хорошая идея загромождать глобальное пространство имен.

Вы можете использовать файлы cookie, чтобы сохранить эти константы и прочитать их через JavaScript, или вам придется использовать AJAX