我有遍历数组(由对象提供)并处理要在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.bodynull。您可以通过在加载DOM之后执行代码来避免这种情况。

document.addEventListener("DOMContentLoaded", function() {
     // The code
});

10-08 14:16