【问题标题】:Getting Intermittent "Uncaught TypeError: Cannot read property 'appendChild' of null" ERROR?间歇性出现“未捕获的类型错误:无法读取 null 的属性‘appendChild’”错误?
【发布时间】:2017-05-14 08:08:53
【问题描述】:

我有代码遍历一个数组(由一个对象提供)并处理要在 iframe 中调用的图像源。问题是,我得到了一个

未捕获的类型错误:无法读取 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);
};

不确定为什么会发生这种情况或如何解决?有任何想法吗?

【问题讨论】:

标签: javascript html


【解决方案1】:

这意味着document.bodynull。您可以通过在加载 DOM 后执行代码来避免它。

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

【讨论】:

  • 这有效:if(window.addEventListener) window.addEventListener("load", function() { document.body.appendChild(iframeTag); }, false); else window.attachEvent("onload", function() { document.body.appendChild(iframeTag); }); };
猜你喜欢
  • 2015-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-18
  • 1970-01-01
  • 2023-03-05
  • 2015-08-19
相关资源
最近更新 更多