我有一个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条件的数量,显示它们以及有人可能提出更好的编写方法。