JavaScript加载取决于PHP


JavaScript loading depending on PHP

我有一个PHP"if",它只在适用的情况下加载特定的JavaScript:

(这来自我页面的<head>):

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

现在,我已经检查了它所应用的页面上的源代码,js出现在html中。但是,它没有加载。我只能假设这是因为它在从PHP获得指令后没有足够的时间加载。这是一个正确的假设吗?

更重要的是,有人能提出一种做我需要做的事情的方法吗?

设置仅包含以下内容的测试文件index.js

alert('boo!');

使用js-include行的硬编码版本进行测试。

证明它有效。

然后添加您的PHP版本。

PHP向浏览器吐出整个流,所以不,这与PHP无关——可能与js-defn的SRC中的相对/绝对路径有关——因此,上面的增量开发思想应该有助于确定哪里出了问题。分而治之。

你展示的代码意味着拥有其他代码没有意义,所以你可以将其缩短为:

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

根据您实际需要的ELSE条件的数量,显示它们以及有人可能提出更好的编写方法。