我有遍历数组(由对象提供)并处理要在iframe中调用的图像源的代码。问题是,我正在
未捕获的TypeError:无法读取null的属性'appendChild'
重新加载页面时出错。如果我执行Empty Cache and Hard reload
,它似乎可以100%正常运行。如果我导航离开并返回,它在95%的时间内都可以正常工作。如果我进行常规重新加载,则几乎在以下代码中的原始图像源(document.body.appendChild(iframeTag);
)的最后一行几乎每次都会出现错误。但是,我确实看到了初始图像源调用:
function insertStaticTag(imgSrc) {
var iframeTag = document.createElement("iframe");
iframeTag.setAttribute("width", "1");
iframeTag.setAttribute("height", "1");
iframeTag.style.display = "none";
iframeTag.style.border = "none";
var imgTag = document.createElement("img");
imgTag.src = detokenizeTags(imgSrc);
iframeTag.appendChild(imgTag);
document.body.appendChild(iframeTag);
};
不知道为什么会这样或如何解决?有任何想法吗?
最佳答案
这意味着document.body
是null
。您可以通过在加载DOM之后执行代码来避免这种情况。
document.addEventListener("DOMContentLoaded", function() {
// The code
});