【问题标题】:Open new browser window on click of a form button单击表单按钮打开新的浏览器窗口
【发布时间】:2009-06-19 06:42:59
【问题描述】:

我想打开一个新浏览器并从文件系统加载一个页面(将在单击该按钮时创建)。我的应用程序是一个 java servlet。基本上,我允许用户在他们的网站上更改一些 HTML。单击按钮后,用户将看到一个预览页面,该页面显示页面在进行更改后的样子。

执行此操作的最简单方法是什么,您可以看到哪些问题,以及我们可能会如何解决这些问题。

我看到一个问题,例如,如果浏览器窗口试图立即打开文件,它甚至都不存在。所以在尝试读取文件之前可能需要一些延迟。

【问题讨论】:

    标签: java javascript html window.open


    【解决方案1】:

    这可以使用java脚本来完成

    window.open('url','name',....)

    你可以在这个函数中传递参数。

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

    干杯

    【讨论】:

      【解决方案2】:

      也许您可以使用 jQuery/AJAX 或类似技术先将数据发布到服务器,然后在新窗口中打开。

      有关示例,请参阅 jQuery 文档:jQuery Post Example

      【讨论】:

        【解决方案3】:

        如果预览页面传递的数据不多,您可以将其作为 url 参数传递,而不是使用 jQuery。如果数据很大,最好使用 jQuery。 :)

        作为http://www.xyz.com?name="name".....

        【讨论】:

          【解决方案4】:

          我不熟悉 java servlet,但你不能将上传的 html 保存在服务器端会话变量中,在预览页面中显示内容,然后将变量的内容保存到文件系统一次用户接受更改?

          【讨论】:

            【解决方案5】:

            您可以使用 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 中,您只需等待文件出现后再交付。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2012-03-24
              • 1970-01-01
              • 2023-04-07
              • 1970-01-01
              • 2015-09-09
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多