Установка переменных JavaScript перед открывающим тегом <html> - PullRequest
0 голосов
/ 16 августа 2011

У меня есть несколько переменных PHP, которые мне нужно перенести в JavaScript. В настоящее время большая часть моего кода PHP выполняется, как только страница загружается, перед открывающим тегом -html-. Если я использую echo для создания переменных javascript перед тегом, будут ли они правильно сохранены? Есть ли причины, по которым я бы не хотел этого делать?

Ответы [ 3 ]

4 голосов
/ 16 августа 2011

Возможно, у вас не возникнет проблем с назначением переменных JS перед открытием HTML-тега, но если вы этого не сделаете, вы используете действительно нестандартные браузеры. ; -)

Общее правило - все, что вы определяете на странице, должно быть либо в <head>, либо в <body>. Все остальное следует считать ошибкой, поскольку оно не имеет определенного поведения. Неопределенное поведение ведет к порче.

Если вы поставите это как первое в <head>, все будет в порядке.

1 голос
/ 16 августа 2011

Вы должны хранить переменные в памяти до тех пор, пока в HTML-теге не будет выведен тег <script>:

<?php
    ...

    // I want to transfer: $my_var
?>
...
<html>
    <head>
        <script>
            var php_var = <?php echo json_encode($my_var); ?>;
        </script>
        ...
    </head>
    <body>
        ...
    </body>
</html>
0 голосов
/ 16 августа 2011

Используйте echo для создания переменных внутри тега script внутри тега html. В чем проблема у вас?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...