2009-07-08 2 views
3

У меня есть страница, на которой, периодически, я должен изменить URL-адрес, чтобы включить некоторые параметры GET в фоновом режиме с помощью JavaScript, чтобы страница обновлялась с использованием новых параметров GET.Как «обновить» окно в IE без кражи фокуса окна?

Так, например, я буду периодически делать

window.location.href = window.location.host + '?' + ss; 

или

window.location.search = '?' + ss; 

Где сс 'это новая строка запроса, например: "Foo = 3 & бар = 1" , Эти «обновления» будут выполняться, когда окно находится в фоновом режиме.

Моя проблема заключается в том, что в браузерах IE обновление заставляет окно украсть фокус. Есть ли вообще избежать или обойти это?

+0

Какая версия IE? Не могли бы вы просто изменить window.location.hash и использовать AJAX для обновления страницы? – EricLaw

+0

Мне действительно нужно перезагрузить страницу с новыми параметрами GET. Я видел это поведение на IE 6 и 7, но не тестировал 8. – Kyle

ответ

0

Необходимо ли обновить всю страницу? Я бы подумал, что если вы ИСПРАВЛЯЕТ контент, он не украл бы фокус. Я никогда не пробовал это с фоновым окном, но мне было любопытно, что IE это делает. Какая версия делает это, так как я хотел бы воспроизвести ее.

+0

Я видел это поведение в IE 6 и 7, но не тестировал 8. Легко реплицируется одной строкой JS, вызванной после загрузки. Что-то вроде следующего: setTimeout (function() {window.location.replace ('http://google.com')}, 5000); Окно будет красить фокус, когда он вызывает «замену» на IE. Дикий. – Kyle

+0

Очевидно, что «google.com» должен предшествовать http ... (мой комментарий был очищен SO) – Kyle

2

Возможно, было бы целесообразно использовать вызов AJAX для получения новых данных вместо перезагрузки кадра?

2

Я бы определенно использовал Ajax. Обновление контента таким образом является лучшим пользовательским интерфейсом, особенно из-за его асинхронного режима. Кроме того, использование параметров в URL-адресе всегда является хорошей практикой, если ваш сайт имеет хорошие результаты SERP.

Смежные вопросы