A JS function needs a variable, generated by PHP. The .js files can't interpret <?php ?>
strings, so I must pass it from the .html code.
Yes, but running JS code from HTML considered bad practice (just like style
elements). Then what to do?
A JS function needs a variable, generated by PHP. The .js files can't interpret <?php ?>
strings, so I must pass it from the .html code.
Yes, but running JS code from HTML considered bad practice (just like style
elements). Then what to do?
.js ファイルは
<?php ?>
文字列を解釈できません
そのため、ファイルに.php
拡張子を付けます。header()
(PHP のデフォルトの Content-Type 出力を呼び出しでオーバーライドするようにしてください。
しかし、HTML から JS コードを実行することは、悪い習慣と見なされます (スタイル要素と同様)。
これは、JS のインライン化がキャッシュに悪影響を与えるためです。ファイルが動的に生成されている場合は、いずれにせよ正常にキャッシュできない可能性があります。
echoを使用して、次のようなことを行うことができます。
<? echo('<script type="text/javascript">var hello="world"</script>');
いくつかのオプションがあります。まず、最初の例から構築できます。
<?php
$myVariable = array('key' => 'value', 'anotherKey' => 10);
?>
// PHP variable output in javascript's object syntax
var phpData = <?php echo json_encode($myVariable); ?>;
// value
console.log(phpData.key);
// 10
console.log(phpData.anotherKey);
もう 1 つのオプションは、PHP スクリプトへの Ajax 要求を使用してデータを取得することです。あなたの質問に基づいて、ページの読み込み時にデータがあるため、このオプションはおそらく役に立たないでしょう。