我有一个PHP'if',如果它适用,它只加载某个javascript:
(这是来自我页面的<head>
)
<?PHP if ($row['jstype'] == 'myanswer')
{
echo '<script type="text/javascript" src="js/index.js"></script>';
}
else
{
echo '';
}
?>
现在,我已经检查了它应用的页面上的源代码,并且js出现在html中。但是,它没有加载。我只能假设这是因为它在从PHP获取指令后没有足够的时间加载。这是正确的假设吗?
而且,更重要的是,任何人都可以提出一种方法来做我需要做的事情吗?
答案 0 :(得分:1)
设置仅包含:
的测试文件index.js
alert('boo!');
适用于js的硬编码版本的测试包括行。
证明它有效。
然后添加您的PHP版本。
PHP向浏览器吐出整个流,所以不,它与PHP无关 - 可能与js defn的SRC中的相对/绝对路径有关 - 因此上面的增量开发思想应该有助于识别你错了。分而治之。
您展示的代码意味着拥有其他内容毫无意义,因此您可以将其缩短为:
<?php
if ($row['jstype'] == 'myanswer')
echo '<script type="text/javascript" src="js/index.js"></script>';
?>
根据您实际需要的ELSE条件数量,显示它们并且可能有人可以建议更好的写作方式。