我收到此错误:
Error: Unclosed element `container.style.display` (on line 25).
我的程序的第 25 行是:
if ((container.style.opacity -= .01) <= 0)
但我认为它指的是下面的行:
container.style.display = "none";
为什么我会收到此错误?
上下文:
<script>
var container = document.getElementById('popUpContainer');
function popUpFadeOut() {
if (container.style.opacity == 0) {
container.style.opacity = 1;
container.style.display = "block";
var fading = function fade() {
if ((container.style.opacity -= .01) <= 0) {
container.style.display = "none";
container.style.opacity = 0;
} else {
requestAnimationFrame(fade);
}
};
setTimeout(fading, 1000); //popup box fades away after 1 seconds
}
};
</script>
最佳答案
您提到的错误消息出现在 HTML 解析上下文中,很可能是 HTMLBar,这意味着您在模板中包含了脚本,而您一开始就不应该这样做。
快速修复方法是替换 <
与 <
。正确的解决方案是将脚本从模板移至其所属的 JS 文件中。
请注意,这在 HTML 文件中不会成为问题,因为脚本标记(现在)是“ protected ”,并且其中唯一可能导致问题的 HTML 是类似 const foo = "</script>";
的内容。 。看来HTMLBars中的HTML解析登录并没有实现这种“保护”机制。理论上这可以被认为是一个错误,但没有人担心它,也没有人会修复它,因为无论如何你都不应该将脚本标签放在模板中。
关于javascript - Ember 模板中出现未闭合元素错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41305121/