Задолбала разница в браузерах


9 0

Реально задолбала разница в браузерах. Сегодня выяснил, что IE не передает referer, если изменять текущую страницу с помощью JavaScript (document.location = 'http://www.funniestworld.com' - не передаст ). Какого уродства он это делает, я понятия не имею. Выход банален, устанавливаем a тег с id и с name, ищем его по имени или id, изменяем href на нужный и программно кликаем. Долбанутый хак, но что делать:

<a id="redirecturl" style="display:none;" />

<script>
 document.getElementById('redirecturl').href= нужный url; 
 document.getElementById('redirecturl').click();
</script>

Теперь ie передает referer, но счастье длиться не долго. Падла FF не содержит функции click у тега a.

Хорошо, придется брать лучшее от обоих браузеров. Если метод click существует, то перед нами IE и нужно использовать его. Если метода нет, то это FF, который передает referer и можно изменять document.location без выпендрежей:

<a id="redirecturl" style="display:none;" />

<script>
 if (document.getElementById('redirecturl').click) {
	document.getElementById('redirecturl').href= url; 
	document.getElementById('redirecturl').click();
 }
 else {
	document.location = url;
 }
</script>

Это издевательство работает, но оно бесит.


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку пока еще никто не лайкал и ты можешь быть первым


Комментарии

Ник

28 Сентября 2010

Интересное замечание. Как насчёт webkit браузеров (Safari, Chrome) ?


Михаил Фленов

28 Сентября 2010

Их не тестировал и понятия не имею, как они себя ведут


Александр

29 Сентября 2010

А если в объекте написать onclick='window.location'?


Михаил Фленов

29 Сентября 2010

Не понял зачем


Антон

29 Сентября 2010

IE это гавно еще то. Всем большим компаниям надо сговориться и забанить этот браузер на совсем.


kurt

30 Сентября 2010

Михаил извините за флуд но хотел спросить  какой язык вы начали бы учить первым если бы сейчас учились программировать?


Михаил Фленов

30 Сентября 2010

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


kurt

30 Сентября 2010

а на форумах пишут что с Бейсик нельзя начинать плохой стиль программирования а надо с С или там Руби Питон


Влад

02 Октября 2010

Долго не мог решиться, начал пользоваться FF. Обновил XP SP2 до SP3,и при работе под учётной записью с ограниченными правами, IE8 перестал отображать видео на некоторых сайтах. А ещё, при работе с MFC в VS 2008, возникала ошибка. Не помню точно(уже не работаю с MFC), но браузер(IE8) не мог выполнить какую-то инструкцию,при добавлении переменной.Не знаю, что более безопасно -IE8 или FF,но фокусы IE8 мне надоели.Интересно, что на рынке браузеров, в отличии от рынка ОС, ситуация иная: FF серьёзно отбирает рынок.
http://gs.statcounter.com/#browser-ww-monthly-200807-201008
Очевидно, не просто так.


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

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне