-1

適用可能な場合にのみ特定のJavaScriptをロードするPHP 'if'があります。

(これは<head>私のページの からです)

<?PHP if ($row['jstype'] == 'myanswer')
  {
  echo '<script type="text/javascript" src="js/index.js"></script>';
  }
else
  {
  echo '';
 }
 ?>

これで、ソースが適用されるページのソースを確認したところ、js が html に表示されます。ただし、ロードされていません。これは、PHP からの指示を取得した後、十分な時間でロードされていないためだと推測できます。これは正しい仮定ですか?

そして、さらに重要なことに、私が必要とすることを行う方法を誰かが提案できますか?

4

1 に答える 1

1

index.js以下のみを含むテストファイルを設定します。

alert('boo!');

ハードコーディングされたバージョンの js インクルード行で動作するテスト。

それが機能することを証明します。

次に、PHP バージョンを追加します。

PHP はストリーム全体をブラウザに吐き出すので、いや、PHP とは何の関係もありません - おそらく js 定義の SRC の相対/絶対パスと関係があります - したがって、上記の漸進的な開発のアイデアは、どこに行くのかを特定するのに役立ちます。違う。分割統治。

あなたが示したコードは、else を使用しても意味がないことを意味するため、次のように短縮できます。

<?php
if ($row['jstype'] == 'myanswer')
  echo '<script type="text/javascript" src="js/index.js"></script>';
?>

実際に必要な ELSE 条件の数に応じて、それらを表示すると、誰かがより良い書き方を提案できる可能性があります。

于 2013-08-09T09:29:11.957 に答える