2012-03-13 2 views
3

На самом деле я использую следующий код для закрытия моего текущего окна:Как закрыть окно в Xpage?

window.close() 

Дело в том, что она работает отлично в IE, но он не работает в FF и Chrome.

Это их отличное решение для этого?

+1

ли использовать вы Javascript, чтобы открыть окно? Javascript может закрывать только окна, открытые с помощью Javascript. – jjtbsomhorst

+0

Для тех, кто ответит, пожалуйста, рассмотрите XPiNC. –

+0

@jjtbsomhorst: На самом деле это домашняя страница примерной веб-страницы. Итак, дайте мне знать, их способ сделать это ... – Ramkumar

ответ

1

window.close() работает в 8.5.3, но только если родительский объект содержит объект, и он не сделает этого, если у вас есть xpage, открытая внутри обычного приложения Notes или обычного вида. вам нужно окно.open, чтобы получить это.

Я давно об этом много раз пробовал, но не повезло найти ответ. Единственный способ, которым я нашел, - это то, что вам нужен Mindoo XPage2Esclipse plugin, чтобы заставить это работать.

2
function windowclose(w) { 
    try { 
     if (dojo.isIE>=7) { 
      w.open('', '_self', ''); 
      w.close(); 
     } else if (dojo.isIE==6) { 
      w.opener = null; 
      w.close(); 
     } else { 
      if(!w.opener) 
       w.opener = 'x'; 
      w.close(); 
     } 
    } catch(e) { 
     alert("To avoid data corruption/loss, please close this window immediately."); 
    } 
} 

Для использования в качестве:

windowclose(window) 
+0

: Спасибо за ваш ответ, каждый раз, когда он перемещается, чтобы поймать, это тоже не работает. – Ramkumar

0

Вы можете позвонить window.focus() перед вызовом window.close() в Firefox

0

Я использую window.close без проблем в 8.5.3 приложениях с Chrome/FF/IE.

На главной странице приложения «Деловой документ» у меня есть CSJS вверху, который называет страницу, т. Е.

window.name="mainWindow"; 

, а затем у меня есть кнопка, которая позволяет вам задать вопрос - это всплывает окно/вкладку новую и сохраняет основной корпус док открытого, а также. В новом окне есть кнопка отправки, которая выполняет полное обновление, и в событии onComplete у меня есть следующий CSJS для обновления основного документа, чтобы вы могли увидеть вопрос на основном документе в регуляторе повтора, который показывает потоки Q & Документы:

if (window.opener!=null){ 
     window.opener.location.href = window.opener.location.href; 
     window.close();} 
    else { 
     alert("Can't refresh parent case doc - have you closed the window?"); 
    } 

Надеется, что это помогает

2

Я нашел частичное решение, Java является вашим другом. Он работает в кнопке, должен работать и в ссылке. Единственная проблема заключается в вызове из события, например onClose, когда текущая xpage теряет фокус, а текущие страницы остаются открытыми. Я попытался подражать клавишам отправки и нажал клавишу ESC. Он отлично работает с кнопки в Кнопка по щелчку события

<xp:button value="Label" id="button1"> 
    <xp:eventHandler event="onclick" submit="true" 
     refreshMode="complete"> 
     <xp:this.action><![CDATA[#{javascript:var robot:java.awt.Robot= new java.awt.Robot;var event:java.awt.event.KeyEvent=java.awt.event.KeyEvent; 

robot.keyPress (event.VK_ESCAPE). robot.keyRelease (event.VK_ESCAPE); enter code here}]]>

</xp:eventHandler> 
</xp:button> 
Смежные вопросы