Javascript 无法读取未定义的属性“文档”
Javascript Cannot read property 'document' of undefined
我继承了别人的网站,我正在尝试解决为什么基于 javascript 的翻转菜单在 IE(启用兼容模式)之外的任何东西都不起作用。
代码,通过包含的菜单.js:
function goMenu(m,n){
if(n){
showMenu(m);
}else{
hideMenu(m,n);
}
}
function showMenu(m) {
for(i=0;i<6;i++){
if (i!=m){
hideMenu(i);
}
}
if(document.all){
eval('document.all.menu'+m+'.style.visibility="visible"');
}else{
eval('document.menuSpan.document.menu'+m+'.visibility="show"');
}
}
function hideMenu(m) {
if(document.all){
eval('document.all.menu'+m+'.style.visibility="hidden"');
}else{
eval('document.menuSpan.document.menu'+m+'.visibility="hide"');
}
}
然后 HTML 文件中的代码是基本的
<SPAN ID="menu0" ONMOUSEOUT="goMenu(0,0);" ONMOUSEOVER="goMenu(0,1);">
<LAYER ONMOUSEOUT="goMenu(0,0);">
...
</LAYER>
</SPAN>
这在IE中工作多年(最新版本需要启用兼容性模式),并且在我知道的Firefox或Chrome中从未工作过。 现在,企业主希望我使其在所有浏览器中工作。我不是真正的javascript人,所以我不确定javascript控制台的错误是什么意思:
From IE:
Unable to get property 'document' of undefined or null reference
From Chrome:
Uncaught TypeError: Cannot read property 'document' of undefined
我尝试调整菜单中的代码.js但无济于事。是否有任何Javascript经验的人能够告诉我什么会使这段代码适用于最新的浏览器,如果有的话?
我猜它来自document.menuSpan.document
操作之一。 document.menuSpan
可能未定义。它不是任何 API 的一部分。
相关文章:
- MongoDB (php) - 以数组而不是多个属性的形式返回文档属性
- 如何在mongodb(mongose)中覆盖子文档的数组属性
- JSDoc:如何避免属性/getter的文档重复
- 如何检索其属性为给定参数的子字符串的所有文档
- JavaScript文档.getElementById(“id”)和元素id属性
- 猫鼬文档筛选属性
- 数组中嵌入文档的集合更新属性
- 相同的域,但仍收到“访问属性'文档'的权限被拒绝”
- 为什么 Meteor 更新会覆盖我的文档中的现有属性
- D3.js:未捕获的类型错误:无法读取未定义的属性“文档”
- 如何将文档属性(例如 document.webkitFullscreenElement)设置为 null
- 如何显示文档中所有元标记的名称属性
- 使用虚拟属性访问猫鼬模型中的嵌套文档
- 未捕获的类型错误:无法读取IE和Chrome Firefox中未定义的属性“文档”很好
- 将数组从文档属性与数据范围进行比较不起作用
- 文档对象用法和行为的activeElement属性.文档对象的
- 错误:拒绝访问属性'文档'
- 获取访问属性“文档”的权限被拒绝
- Javascript 无法读取未定义的属性“文档”
- 无法获取未定义或空引用的属性“文档”