2015-09-10 4 views
0

У меня есть требование. Tp всплывающее окно отображает страницу pdf, выполняет тихую печать и закрывает ее.Закрытие всплывающего окна после выполнения печати

 String s = 
     "var win = window.open('PrintPopUp.jsf','_blank',\"height=300,width=200,scrollbars=no," + 
     "status=no, resizable=no, screenx=0, screeny=0\");" + 
"win.onclick= function(){ win.close();}" 

Я использовал приведенный выше код, чтобы получить всплывающее окно, при щелчке печати я пишу этот код на свою страницу и нижеследующий вызвать сервлет для создания PDF;

 FacesContext context = FacesContext.getCurrentInstance(); 
    HttpServletRequest request = (HttpServletRequest)context.getExternalContext().getRequest(); 
    HttpServletResponse response = (HttpServletResponse)context.getExternalContext().getResponse(); 
    RequestDispatcher dispatcher = request.getRequestDispatcher("/hisprintservlet"); 

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

Я использую IE 11, а проект использует ADF 12c.

Пожалуйста, помогите ..

ответ

0

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

function test(win){if(win==null){alert('null');} else {setTimeout(function(win){this.close();},3000);}} 

Это хорошо работает в IE11

0

заказа Документы на Popups here.

функция showPopup (event) { { event.cancel(); var source = event.getSource(); var popupid = "popup"; var popup = AdfPage.PAGE.findComponentByAbsoluteId (popupId);

if (!popup.isPopupVisible()) 
{ 
    var hints = {}; 
    hints[AdfRichPopup.HINT_LAUNCH_ID] = source.getClientId(); 
    hints[AdfRichPopup.HINT_ALIGN_ID] = source.getClientId(); 
    hints[AdfRichPopup.HINT_ALIGN] = AdfRichPopup.ALIGN_AFTER_START; 

    popup.show(hints); 
} 

}

функция hidePopup (событие) { Event.CANCEL(); var source = event.getSource(); var popupId = source.getProperty ("popupId"); var isCanceled = source.getProperty ("isCanceled");

var popup = AdfPage.PAGE.findComponentByAbsoluteId(popupId); 

if (popup.isPopupVisible()) 
{     
    if (isCanceled) 
    popup.cancel(); 
    else 
    popup.hide(); 
} 

} ... ... Hello World!

... ...

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