未捕获的TypeError:无法读取属性' scrollHeight'为null

时间:2017-04-11 22:53:18

标签: javascript php jquery wordpress

关于这个话题有一些对话,但没有人能真正帮助我。

这是我正在修改的页面,使用Wordpress:http://www.cargo-websites.eu/demo-1/voorraad/

对于Javascript集成,我在 header.php <head>标记中添加了一个脚本标记:

<script type="text/javascript" src="http://voorraad.cargo-websites.eu/demo-1/voorraad/js/include.js"></script>

只要我添加此代码,页面就会返回以下错误:

  

未捕获的TypeError:无法读取属性&#39; scrollHeight&#39;是的           at responseIt(include.js:5)
          在window.onresize(include.js:4)
          在Object.trigger(jquery.js:3)
          at Object.a.event.trigger(jquery-migrate.min.js:2)
          在jquery.js:3
          在Function.each(jquery.js:2)
          at a.fn.init.each(jquery.js:2)
          at a.fn.init.trigger(jquery.js:3)
          在theme.js:78
          在theme.js:94

     

include.js:5 Uncaught TypeError:无法读取属性&#39; scrollHeight&#39;是的           at responseIt(include.js:5)
          在window.onresize(include.js:4)

因此,该页面上的 header-img 已经消失。

我找到了一个&#34;如何&#34;解决问题,但这远远超出我的知识。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

看看include.js的那一行(5),我们看到它以这段代码开头:

var height=d.getElementById('pageContent').scrollHeight;

该代码尝试访问d.getElementById('pageContent');返回的 scrollHeight 属性(请注意第4行 - 函数responseIt()的开头,{{1} }被赋予值d,其中frame.contentWindow被赋予frame返回的值,即带有document.getElementById('voorraadFrame')的iframe的DOM。

在浏览器控制台中,您应该能够在第5行添加断点并重新加载以检查返回的值(请参阅下面的图片,我在Google Chrome中执行此操作)。

chrome debugger

为了返回DOM元素,页面的HTML需要包含这样的元素:

id="voorraadFrame"

标签名称可能会有所不同(例如,可能是 p span 等)。