-1

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?

4

3 に答える 3

1

.js ファイルは<?php ?>文字列を解釈できません

そのため、ファイルに.php拡張子を付けます。header()(PHP のデフォルトの Content-Type 出力を呼び出しでオーバーライドするようにしてください。

しかし、HTML から JS コードを実行することは、悪い習慣と見なされます (スタイル要素と同様)。

これは、JS のインライン化がキャッシュに悪影響を与えるためです。ファイルが動的に生成されている場合は、いずれにせよ正常にキャッシュできない可能性があります。

于 2013-02-18T22:20:01.650 に答える
1

echoを使用して、次のようなことを行うことができます。

<? echo('<script type="text/javascript">var hello="world"</script>');
于 2013-02-18T22:11:46.897 に答える
1

いくつかのオプションがあります。まず、最初の例から構築できます。

<?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 要求を使用してデータを取得することです。あなたの質問に基づいて、ページの読み込み時にデータがあるため、このオプションはおそらく役に立たないでしょう。

于 2013-02-18T22:16:58.140 に答える