2012-10-03 19 views
2

我們擁有包含在網頁中的applet的JSF 2.0(primefaces)應用程序。像這樣的東西。不要重置ajax上的applet

<h:panelGroup id="appletbox" layout="block"> 
<applet id="termApplet" code=com.foo.TermApplet archive=...> 
     <param name=... value=... /> 
</applet> 
</h:panelGroup> 

小程序是SSH終端仿真並打開連接。我們稱之爲 在com.foo.TermApplet - 有一個公共無效方法openFrameFromWebPage(String host)在其 可以從JavaScript調用:

function openTerminal(host) { 
    var termApplet = document.getElementById("termApplet"); 
    termApplet.openFrameFromWebPage(host); 

}

這一切正常。問題是,每當這個applet包含在網頁中發出請求(包括ajax)時 - 它會導致applet重置並從頭開始。

我想這樣做,是以某種方式從回發中排除小程序。想象一下,你正在終端中編輯vim中的一些文件,並單擊網頁上的一個單選按鈕,以獲得關於你必須在服務器上執行的工作的不同數據 - 並重置連接並釋放所有未保存的數據。

有沒有辦法如何克服這一點?

回答

0

彈出另一個瀏覽器,不關閉警告並打開其中的小程序。如果瀏覽器不刷新,並且只執行ajax,請添加iframe並從中打開小程序。