Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.07.2014, 03:10
rfl rfl вне форума
Новичок на форуме
Отправить личное сообщение для rfl Посмотреть профиль Найти все сообщения от rfl
 
Регистрация: 20.11.2013
Сообщений: 3

Закрыть всплывающее окно после печати
Здравствуйте.

Подскажите, плз, как закрыть всплывающее окно после печати.

window.onload = function() 
        {
        var width = screen.width;
        var height = screen.height;
        var params = \'width=500,height=220,left=\' + (width / 2 - 250) + \',top=\' + (height / 2 - 110);
        var newwin = window.open(\'URL\', \'print\', params);
            
        newwin.focus();
        
        newwin.print();
        //newwin.close();

        return true;        
        }

Все одинарные кавычки экранированы, так как HTML основной страницы генерируется в php.

Если раскомментировать newwin.close(), то окно закрывается сразу после того, как открылось и нажать кнопку печать в диалоге печати нет никакой возможности.

Домен родительского окна и всплывающего - идентичен, имею возможность отредактировать код страницы, открывающейся во всплывающем окне
Ответить с цитированием
  #2 (permalink)  
Старый 21.07.2014, 01:29
rfl rfl вне форума
Новичок на форуме
Отправить личное сообщение для rfl Посмотреть профиль Найти все сообщения от rfl
 
Регистрация: 20.11.2013
Сообщений: 3

Пока ждал ответа разобрался сам. Правда, получилось не совсем так, как хотелось бы, но главное, что работает. Из кода, который создает всплывающее окно убрал newwin.print(); а в код страницы, которая загружается в window.open() добавил:
var winPrint = setTimeout('print()', 50);
var winClose = setTimeout('window.close()', 300);

Почему это не работало из скрипта, создающее новое окно, я так и не разобрался.

Зато теперь появился другой вопрос - если открывать всплывающее окно нажатием на ссылку, тогда если ссылка расположена внизу страницы (чтобы до неё добраться нужно прокрутить страницу вниз) после открытия нового окна в родительском окне вся страница подымается в самый верх (перебрасывает на начало/верх страницы):
<a href="#" onclick="window_create('URL')">TEXT</a>


Используя:
<a href="javascript:window_create('URL')">TEXT</a>

все ок, кроме того, что если попытаться открыть ссылку в новом окне появляется пустое новое окно...

Посоветуйте, как правильно решить задачу?
Ответить с цитированием
  #3 (permalink)  
Старый 22.07.2014, 11:05
Аватар для hfts_rider
Профессор
Отправить личное сообщение для hfts_rider Посмотреть профиль Найти все сообщения от hfts_rider
 
Регистрация: 26.01.2014
Сообщений: 181

Что бы не перекидывало в самый верх нужно заблочить стандартные действия события.
event.preventDefault(); или в конце напиши return false;
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всплывающее окно Rooner jQuery 1 23.04.2014 13:15
Всплывающее окно - надо задать границы Anton-CS Элементы интерфейса 0 18.07.2011 10:55
IE6. отдать пользователю файл и закрыть окно Vglaz Internet Explorer 0 23.06.2011 13:55
Как закрыть дочерние окно из родительского при помощи переключателя checkbox?? dieseln Общие вопросы Javascript 4 15.12.2010 16:30
Как закрыть динамичное окно вместе\после родительского? Vilmos Элементы интерфейса 1 16.07.2009 20:54