Решение проблемы с window.location.href в Chrome

Ковыряю сейчас online CRM для церкви и столкнулся с проблемой того, что объект window.location.href у меня не работал в браузерах на WebKit (Chrome и Safari) и ряде браузеров с другими движками, но корректно работал в IE.
После некоторых плясок с бубном и поиску в интернете, было найдено универсально работающее во всех браузерах решение.

window.location.href = "page.html"

заменить на

setTimeout(function(){document.location.href = "page.html";},500);
Поделиться
2013   js   кодинг
5 комментариев
aleks

Спасибо автору. Единственный способ который помог в данном решении, работающий действительно во всех браузерах

ikar

Thanks! It’s really working.

ikar

but
setTimeout(function(){document.location.href = «page.html;»},500);
should be changed to
setTimeout(function(){document.location.href = «page.html»;},500);
as far as I understand :)

Автор блога

Thanks! :-)

Алексей

В ФФ не работает если написать так
setTimeout(function(){document.location.href = «http://site.ru/page.html»;},500);

Автор блога

Попробуйте передать ссылку как параметр.

Алексей

Вообще было так:

1 Вариант работает нормально, все логично
<a href=«javascript:goPage(’/contacts’)»>Контакты</a>
===
function goPage(sPage)
{
setTimeout(function(){window.location.href = sPage;},500);
}
2 Вариант не работает только в ФФ
<a href=«javascript:goPage(’http://site.ru/contacts')»>Контакты</a>
===
function goPage(sPage)
{
setTimeout(function(){window.location.href = sPage;},500);
}
==
Это и не понятно.

Автор блога

Мистика с этой кроссбраузерностью. Тут я ничего сказать не могу.

Ваш комментарий
адрес не будет опубликован

ХТМЛ не работает

Ctrl + Enter
Популярное
Threesome