Ошибка с JavaScript в Firefox - PullRequest
3 голосов
/ 27 января 2011

У меня проблема с JavaScript, работающим в Firefox.Приведенный ниже скрипт работает без проблем в других браузерах, кроме 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];
                }

Таким образом, этот код выполняется во время загрузки страницы и должен захватывать значения после URL-адреса и заменять строку текста на странице тем, что находится вURL.

Это строка текста, которую необходимо заменить (yourcompany.com):

<h1><a href="" id="companyURL" name="companyURL">yourcompany.com</a> is available.<img src="images/checkmark_64.png" alt="check image"></h1>

Так что, если URL-адрес "google.com?hello.com", тотекст на странице должен измениться с "yourcompany.com" на "hello.com", но когда страница загружается в Firefox, он выдает ошибку " document.all не определено " и указывает настрока кода с этим в нем.

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

Я понятия не имею, почему это происходит, и я не могу найти в Интернете никакой информации, которая могла бы помочь мне исправить проблему.Пожалуйста, помогите!

Спасибо!

Ответы [ 3 ]

7 голосов
/ 27 января 2011

заменить:

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

с:

document.getElementById('companyURL').innerHTML = vars[0];
6 голосов
/ 27 января 2011

document.all не поддерживается mozilla / FF

вы можете просто использовать document.getElementById("companyURL") там

1 голос
/ 27 января 2011

document.all - это старый стандарт IE4. Вы должны использовать document.getElementById ()

Я бы порекомендовал вам использовать одну из распространенных библиотек JavaScript, которые будут абстрагировать различные реализации браузеров.

...