javascript getHeight不是一个函数

时间:2013-07-25 08:35:02

标签: javascript

我有两个使用相同JavaScript文件的网站。一个是Joomla网站,另一个是该网站布局的副本。

JavaScript包含以下两行:

var header = document.getElementsByTagName("header")[0];
var headerHeight = header.getHeight();

如果我打开Joomla网站它工作正常,但如果我打开其他网站它不起作用。我的firebug控制台出现以下错误:

TypeError: header.getHeight is not a function
    var headerHeight = header.getHeight();

我使用我的firebug的脚本工具来查看标题,看起来应该存在的所有javascript函数都丢失了。

有没有人能解决这个问题?

4 个答案:

答案 0 :(得分:2)

.getHeight()不是js native方法。 您可以对DOM元素使用clientHeightoffsetHeight本机属性。

答案 1 :(得分:1)

getHeight()不是DOM元素的标准方法,并且(很可能)是一个Prototype方法。虽然您可能在Joomla中包含prototype.js - 但在非Joomla网站上并不存在。 修复只是 include prototype.js以及你的js文件:

<script src="//ajax.googleapis.com/ajax/libs/prototype/1.7.1.0/prototype.js"></script>

答案 2 :(得分:1)

你可以尝试这个来获得身高:

var height = window.getComputedStyle(header)['height'];

答案 3 :(得分:0)

他们可能正在使用一个扩充HTMLElement原型的库,而另一方却没有。现在这被认为是不好的做法。