簡體   English   中英

單擊表單按鈕打開新的瀏覽器窗口

[英]Open new browser window on click of a form button

我想打開一個新的瀏覽器並從文件系統中加載頁面(將在單擊該按鈕時創建)。 我的應用程序是一個Java Servlet。 基本上,我允許用戶更改其網站上的一些HTML。 單擊按鈕后,用戶將看到一個預覽頁面,該預覽頁面顯示了所做更改后頁面的外觀。

什么是最簡單的方法,您會看到哪些問題,以及我們如何解決這些問題。

我看到一個問題,例如,如果瀏覽器窗口嘗試立即打開文件,則該文件甚至不存在。 因此,在嘗試讀取文件之前可能需要一些延遲。

這可以使用Java腳本來完成

window.open( 'URL', '名',....)

您可以在此函數中傳遞參數。

谷歌搜索“ javascript window.open函數”

干杯

也許您可以使用jQuery / AJAX或類似技術將數據首先發布到服務器,然后在新窗口中打開它。

有關示例,請參見jQuery文檔: jQuery Post Example

如果沒有太多數據要傳遞給預覽頁面,則可以將其作為url參數傳遞,而不是使用jQuery。 如果數據很大,最好使用jQuery。 :)

作為http://www.xyz.com?name= “ name” .....

我不熟悉Java Servlet,但是您不能將上載的html保留在服務器端會話變量中,在預覽頁面中顯示內容,然后在用戶接受后將變量的內容保存到文件系統中變化 ?

您可以使用JavaScript。 在按鈕上添加:

onClick="doMyOpenWindowFuncion();"

在頁面的腳本部分中,您編寫了類似

function doMyOpenWindowFunction() {
    // if you want the client to wait, heres the place to do so.
    // I assume you can make your servlet wait so the next line opens a window to the servlet
    openWindow('/MyFancyPreviewServlet', 'Preview Window');
}

在您的Servlet中,您只需要等待文件出現就可以交付它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM