2011-08-16 11 views
0

私はJavaScriptに転送する必要があるいくつかのPHP変数があります。現在、ほとんどのPHPコードは、ページが読み込まれるとすぐに、開始-html-タグの前に実行されます。タグの前にjavascript変数を作成するのにechoを使用すると、正しく格納されますか?なぜ私はこれをしたくないのでしょうか?開封前のJavaScript変数の設定<html>タグ

+0

HTMLとPHPを混在させますか?可能な限り小さな量で実行されるべきであり、複雑な論理やJS変数の設定には当てはまりません。 HTML&JS - >クライアント側、PHP - >サーバー側。できるだけ厳格にしてください。 – sciritai

答えて

4

オープンHTMLタグの前にJS変数を割り当てることで問題はないかもしれませんが、実際には標準に準拠していないブラウザを使用しています。 ;-)

一般的な規則では、ページ上で定義するものは<head>または<body>のいずれかにする必要があります。他のすべては、動作を定義していないため、間違いとしてカウントされるべきです。未定義の動作は悪いことにつながります。

<head>の最初のものとして入れても、あなたはうまくいくはずです。

+0

ありがとう、私はそれらを移動する – user897363

1

<script>タグはHTMLタグで出力されるまであなたがメモリ内に変数を維持する必要があります:

<?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

使用すると、HTMLタグ内のスクリプトタグ内の変数を作成するエコー。あなたは何を持っているのですか?