PHP変数をJavascriptに渡していますが、コードの特定のポイントでのみです。PHPコードが続くにつれて、必要な変数が変更されます。ページの読み込みが完了したら、Javascriptを実行してPHP変数を取得するだけで簡単にできますが、必要な情報が渡されません。Javascriptがその時点でPHP変数を取得し、その後の変更を無視するようにします。
私が使用している実際のプログラムは数千行のコードであるため、この問題をいじくり回すための簡単なページを作成しました。以下のコードは、私がやろうとしていることを示しています。
<?php
$php_var = 'something';
if(true) {
$php_var = 'new';
echo '
<script type="text/javascript">
js_var="<?php echo $php_var; ?>";
alert(js_var);
</script>
';
}
$php_var = 'later changes';
?>
<script type="text/javascript">
var js_var;
</script>
ただし、これは機能しません。js_varは、インラインスクリプトの実行時に設定されますが<?php echo $php_var; ?>
、実際に評価するのではなく、文字列に設定されるだけです。