0

私のサイトの 1 つで、PHP 'foreach' を使用して Javascript コードを含める必要があります。このコードには、foreach ループ内で変化する PHP $variables が含まれています。

foreach ($a as $b) {
   include("javascript.php");  
}

javascript.php には、次のようなコードが含まれています。

<script>
   $(".<?php echo $somevariable?>").something;
</script>

私の質問は、PHP 変数を含む JavaScript をロードする最も効率的な (もしあれば) 方法は何ですか?

ページに大きな JavaScript コードを記述するよりも、.js スクリプトで大きな JavaScript コードを呼び出す方がよいと読み続けていますが、どうやら .js ファイルには PHP を使用できないようです。

あなたの洞察に感謝します。

4

2 に答える 2

1

あなたは付け加えられます:

header("Content-type: text/javascript");

.php ファイルの先頭に追加すると、.js ファイルとしてレンダリングされます。

于 2012-04-12T03:58:09.323 に答える
1

これが私が使用するアプローチです:

$somevariable を含む Javascript 変数を使用して HTML ファイルを作成します。

<html>
<head>
    <script src="my_global.js"></script>
</head>
<body>
    Foo
<script>
    var somevariable = "<?php echo $somevariable ?>";
</script>
</body>
</html>

次に、ページの準備ができたら、Javascript ファイルにこの値にアクセスさせます (この例では jQuery .ready() を使用しています)。

$(document).ready(function() {
    alert(somevariable);
});

これが実際の動作です: http://jsfiddle.net/2zeQM/

これにより、Javascript ファイルをキャッシュできます (動的ではなく静的です)。そして、ユーザーが要求したページに動的データがロードされます。

使用する変数名が他の Javascript コードで再利用されないように注意する必要があります。問題を防ぐために、変数名にプレフィックスを付けます。たとえば、「somevariable」と呼ぶ代わりに、「xy_somevariable」と呼ぶ場合があります。

于 2012-04-12T05:30:19.980 に答える