firefox中的javascript错误

firefox中的javascript错误,javascript,html,undefined,Javascript,Html,Undefined,我在Firefox中运行JavaScript时遇到问题。下面的脚本在除Firefox之外的其他浏览器中运行时没有问题 var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++)

我在Firefox中运行JavaScript时遇到问题。下面的脚本在除Firefox之外的其他浏览器中运行时没有问题

var vars = [], hash;
                var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');

                for(var i = 0; i < hashes.length; i++)
                {
                    hash = hashes[i].split('=');
                    vars.push(hash[0]);
                    vars[hash[i]] = hash[1];
                }
                if (vars[0] != ' ')
                {
                    document.all['companyURL'].innerHTML = vars[0];
                    document.getElementById('domain').value = vars[0];
                }
我不知道为什么会发生这种情况,我在网上找不到任何可以帮助我纠正这个问题的信息。请帮忙


谢谢

mozilla/FF不支持document.all

您可以在那里使用
document.getElementById(“companyURL”)
替换:

document.all['companyURL'].innerHTML = vars[0];
与:


document.all是旧的IE4标准。您应该使用document.getElementById()


我建议您利用一个通用的javascript库来抽象不同的浏览器实现。

应该对您有所帮助——现在就使用getElementById()。更准确地说,document.all是由Microsoft发明的,并与IE 4一起引入的。这是有问题的,因为如果一个页面有一个name=“ab”的字段和一个id=“ab”的元素,那么通过document.all可以找到哪一个?试着像瘟疫一样避免它。更确切地说,
document.all
在标准模式下根本不受Firefox支持,在Quirks模式下,它的支持有限,不包括通过
name
id
属性访问元素。哦,在Quirks模式下,Firefox支持所有
document.all
,除了
document.all.tags()
。(我先考错了。)
document.all['companyURL'].innerHTML = vars[0]; 
document.all['companyURL'].innerHTML = vars[0];
document.getElementById('companyURL').innerHTML = vars[0];