Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.08.2016, 22:51
Новичок на форуме
Отправить личное сообщение для alex870 Посмотреть профиль Найти все сообщения от alex870
 
Регистрация: 13.08.2016
Сообщений: 2

Получение фокуса новым окном
Здравствуйте, форумчане!
Помогите пожалуйста разобраться в ситуации. Задача стоит: при нажатии на кнопку открыть в новом окне браузера инструкцию по использованию инструментов сайта. Задумка в том, чтобы пользователь открывал страницы с инструментами и при этом "подглядывал" в инструкцию, ну типа куда жать и как что заполнять.
Для этого написан скрипт:
function showdoc(val,rus)
{
 var width = parseInt(screen.availWidth-100);
 var height = parseInt(screen.availHeight-200);
 var left = parseInt(Math.round(screen.availWidth/2-width/2)); 
 var top = parseInt(Math.round(screen.availHeight/2-height/2)); 

 surl = '../docs/'+val+'.pdf';
 window.status=rus; /*статусная строка главного окна*/ 
 strfeatures="top="+top+",left="+left+", width="+width+", height="+height+",scrollbars=yes";
 var newWindow = window.open(surl,"newwin", strfeatures);
 if (newWindow) newWindow.focus();
}

Скрипт отображает новое окно с инструкцией. Для того, чтобы эти окна не плодить я все инструкции открываю в том же окне. Получается, что если пользователь хочет открыть новую инструкцию не закрыв окно - она открывается в нем, но окно не получает фокус, по крайней мере в IE11 выскакивает ошибка на строке newWindow.focus() "Член группы не найден". В ФФ и Хроме всё работает нормально. В чем может быть проблема?
Спасибо.

Последний раз редактировалось alex870, 13.08.2016 в 22:57.
Ответить с цитированием
  #2 (permalink)  
Старый 14.08.2016, 06:41
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Не надо делать попапы. Ну или читай про фокус http://stackoverflow.com/questions/9...popup-to-front
Ответить с цитированием
  #3 (permalink)  
Старый 14.08.2016, 14:40
Новичок на форуме
Отправить личное сообщение для alex870 Посмотреть профиль Найти все сообщения от alex870
 
Регистрация: 13.08.2016
Сообщений: 2

Почему не надо? Это же не рекламная хрень. В моем случае (описанном в первом посте) это очень даже оправданно, я бы даже сказал, что это самый удобный для пользователя вариант.
За ссылку спасибо, но там ничего нового. По сути там такой же код. Но в IE11 этот код не работает. В FF и GC всё работает корректно, но в IE вызов метода focus возвращает указанную ошибку. Мне бы как раз вот с этим разобраться...
Ответить с цитированием
  #4 (permalink)  
Старый 15.08.2016, 11:38
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Да мне пофигу, делай как в 90е, но помни о некоторых моментах:

Браузер не знает рекламная это хрень или не хрень. Если у пользователя попапы заблокированы, а заблокированы они небось у всех по умолчанию, то едва ли он вообще увидит какую-то пользу. Кроме того окно может открыться во вкладке или вообще не открыться у тех, у кого нет окон (у мобильных). Но даже если оно откроется, никто его закрывать не станет, ибо народ тотально работает в распахнутом окне, то есть считай без окон, отчего у тебя геморрой. Нарисуй с тем же хтмл и теми же методами в сущности - т.н. модальное окно и не мучай людей и сам не мучайся.
Ответить с цитированием
  #5 (permalink)  
Старый 15.08.2016, 12:25
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Вот смотри картинку, прямо на этом сайте

Причем если постараться, то можно заблокировать и открытие окна загрузки файлов.
Изображения:
Тип файла: jpg popup.jpg (387.4 Кб, 7 просмотров)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С Новым Годом! Илья Кантор Сайт Javascript.ru 3 08.02.2014 05:09
Переодическое получение ответа от сервера demoniqus AJAX и COMET 6 22.06.2010 16:09
Управление новым окном ASGAlex Events/DOM/Window 0 31.05.2008 17:19