Javascript-форум (https://javascript.ru/forum/)
-   Firefox/Mozilla (https://javascript.ru/forum/css-html-firefox-mizilla/)
-   -   location.href не работает в FF ;)) (https://javascript.ru/forum/css-html-firefox-mizilla/7991-location-href-ne-rabotaet-v-ff-%3B.html)

Achilles_sm 02.03.2010 09:40

location.href не работает в FF ;))
 
function unl () {            
  window.location = "http://ya.ru";                           
  alert("Переход!");   
};                
window.addEventListener("unload", unl, false);


Вот такой вот код. При переходе на другую страницу с текущей должен открываться http://ya.ru. Алерт выдаёт, но на ya.ru не переходит, а переходит по нажатой ссылке... Отменить default у ссылки не могу по условиям задачи. Причём в Опере всё работает. Пробовал и window.location.href, и replace -- в опере работает, в FF нет =((( Причём это касается только события unload. на click, к примеру, если повесить unl, то всё работает...

Как заставить работать? Помогите, товарищи! :help:

B@rmaley.e><e 02.03.2010 12:34

window.open('http://ya.ru') + window.close()?

lammeR 02.03.2010 12:43

alert("уходим отсюда");
location.href="http://ya.ru";

Achilles_sm 02.03.2010 13:11

Задача в другом, господа... Задача отправить запрос броузера по ссылке, но не переходить по ней, а перейти на ya.ru... Для этого и использовал я window.unload... Т.е., перефразируя, надо зайти на сайт N по ссылке, после чего мгновенно перейти на ya.ru. Доступа к сайту N нет, поэтому с него redirect сделать нельзя...
P.S. Думаю над вариантом сделать редайрект через cookies... Но пока реализовать не пробовал... Наверно, всё-таки придётся...
P.P.S. За отклики спасибо...

Kolyaj 02.03.2010 13:23

Цитата:

Сообщение от Achilles_sm
Т.е., перефразируя, надо зайти на сайт N по ссылке, после чего мгновенно перейти на ya.ru.

Сначала выгружается предыдущая страница, потом загружается следующая. Т.е. все равно у вас ничего не выйдет.

Цитата:

Сообщение от Achilles_sm
P.S. Думаю над вариантом сделать редайрект через cookies...

Нет такого.

Achilles_sm 02.03.2010 13:45

2Kolyaj
У меня УЖЕ вышло... В Опере всё работает... Потому что страница выгружается не сразу. А сначала отправляется GET запрос на новую страницу. Как только он ушёл -- я иду на ya.ru ;) Всё просто. Но в FF не работает :wall:
P.S. http://seodiver.ru/2008/11/no-goback-javascript.html -- вот тут описание редайректа через cookies -- там в каментах... Сам пока не пробовал, потому как уже засыпаю... Но, как проснусь -- попробую и отпишусь...

Kolyaj 02.03.2010 14:16

Цитата:

Сообщение от Achilles_sm
вот тут описание редайректа через cookies

Точно также можно написать "редирект через фазы луны". Если растёт, то редиректим, убывает -- не редиректим. А редирект как был JavaScript'овый так и остался.

Цитата:

Сообщение от Achilles_sm
В Опере всё работает

Это она скорее всего торопится, чтобы побыстрее скачать страницу и поддержать свой статус быстрого браузера. В другой версии все может сломаться, ибо на грани. Нужен запрос, так сделайте
new Image().src = 'http://www.ya.ru/';

Achilles_sm 03.03.2010 05:30

Да, Опера, скорее всего, -- исключение... Запрос отправил, всё работает. Всем спасибо.

Ost 08.07.2011 10:11

До появления 5го Firefoxa все работало, теперь редирект не работает - что в коде нужно подправить?

<head>

<script>
<!--
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;
}
//-->
</script>
</head>

<body>


<script>
openUrl("http://ya.ru");
</script>


Часовой пояс GMT +3, время: 06:30.