我有两个使用相同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函数都丢失了。
有没有人能解决这个问题?
答案 0 :(得分:2)
.getHeight()
不是js native方法。
您可以对DOM元素使用clientHeight
或offsetHeight
本机属性。
答案 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
原型的库,而另一方却没有。现在这被认为是不好的做法。