Javascript → IE не передаёт referer при изменении location.href

05.02.2010

Решение проблемы — эмулировать нажатие на ссылку:

function openUrl(url)
{
    var fakeLink = document.createElement('a');
    
    // Firefox & other browsers
    if (typeof(fakeLink.click) == 'undefined')
    {
        location.href = url;
    }
    // Internet Explorer
    else
    {
        fakeLink.href = url;
        document.body.appendChild(fakeLink);
        fakeLink.click(); 
    }
    
    return true;
}

// пример
openUrl('http://google.com');
Похожие записи

Комментарии

Константин
29.06.2011, 11:19

Спасибо за статью, правда хочу вас огорчить, что данный фикс не работает в Mazilla Firefox 5

Александр
08.07.2011, 09:45

действительно не работает в 5-ом Firefox - как исправить ?

Для 5-го Firefox просто расширил условие вот так:
===
if (typeof(fakeLink.click) == 'undefined' || typeof(fakeLink.click) == 'function') {
...
===
Вроде работает.

Добавить комментарий