根据PHP if语句的结果,我想更改iframe的source属性。
我有以下内容:
<?PHP
if {...}
else {
echo "<script>";
echo "document.getElementById('video-embed').setAttribute('src', 'https://www.youtube.com/embed/dQw4w9WgXcQ');";
echo "</script>";
}
?>
<!DOCTYPE html>
<body>
<div class="wrapper">
<iframe id="video-embed" src="...some other youtube video"></iframe>
</div>
</body>
</html>
我知道从if语句执行有效的JavaScript至少是可行的,因为我已经成功测试了JS警报。我在网上看到的所有内容似乎都表明“document.getElem ...”这一行的语法是有效的。任何帮助将不胜感激。
答案 0 :(得分:1)
你在HTML之前有Javascript创建了它试图修改的元素,因此getElementById()
找不到元素。将添加JS的PHP代码移动到HTML的末尾,以便找到ID。或者将Javascript放在窗口的load
处理程序中。
<?PHP
if {...}
else {
echo "<script>";
echo "window.addEventListener('load', function() {";
echo "document.getElementById('video-embed').setAttribute('src', 'https://www.youtube.com/embed/dQw4w9WgXcQ');";
echo "});";
echo "</script>";
}
?>