Возможно установить фокус табуляции в IE7 с помощью JavaScript

StackOverflow https://stackoverflow.com/questions/72943

Вопрос

Можно ли запустить новое окно в JavaScript с помощью функции window.Открыть, затем установить фокус на эту вкладку?

Вот что я делаю сегодня:

            var winRef = window.open(outUrl,wName,'left='+ wX +',top=' + wY + ',height=' + wH + ',width=' + wW + args);
            try {
                // Not all window types support the focus() property.
                winRef.focus();
            }
            catch (exception) {
            }

Окно откроется, но новая вкладка не получит фокуса.

Это было полезно?

Решение

Джей,

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

Для получения дополнительной информации, пожалуйста, ознакомьтесь с разделом Просмотр вкладок для разработчиков по адресу http://msdn.microsoft.com/en-us/library/ms537636.aspx :

"Возможность открывать несколько документов в одном окне браузера имеет определенные практические последствия и последствия для безопасности [...] На активные вкладки (вкладки с фокусом) не могут влиять скрипты, которые запускаются на неактивных или фоновых вкладках".

БР.

Другие советы

Как пользователь, я никогда не хочу, чтобы приложения (или вкладки) фокусировались, если я специально не просил об этом.Я приложил немало усилий, чтобы по этой причине не привлекать внимания к вкладкам в моем браузере (Firefox).

Я вполне уверен, что вы не можете переключить фокус на другую вкладку.

Насколько я понимаю, это сделано для того, чтобы несколько ограничить всплывающие окна и другой вредоносный контент от кражи внимания пользователей.

Если другая "вкладка" является частью вашего приложения (а не контента с другого сайта), возможно, вам следует включить ее во всплывающий div поверх вашего основного контента, а не в отдельное окно;таким образом, вы всегда можете управлять его фокусировкой, деактивировать содержимое под ним (для модальных диалоговых окон), скрывать его и т.д.

Разве я, как пользователь, не должен иметь возможности контролировать, как это работает?

Что, если есть приложение, которое было бы улучшено с помощью этой функции, которое я хочу запустить - разве я не должен иметь возможность предоставить домену эту привилегию?

Просто мысль.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top