如何使用JavaScript关闭此对话框窗口

How can I close this dialog windows using JavaScript?

本文关键字:对话框 窗口 何使用 JavaScript      更新时间:2023-09-26

我对JavaScript很陌生,有以下问题。

在JSP页面中,我调用一个JavaScript函数来打开一个对话框窗口(类似于弹出窗口),调用这个JavaScript函数:

pag_aperta = window.open(pagina, 'popUp_', DialParam);

其中pagina是一个变量,它包含必须显示在对话框中的JSP页面的名称。

因此,这是显示在我的对话框中的JSP页面的内容(它有效,并且该页面正确地显示在对话框中):

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%
    // Per non far fare il caching...
    response.setHeader("pragma", "no-cache");
    response.setHeader("Expires", "0");
    response.setHeader("Cache-Control", "no-cache");
%>
<html>
    <head>
        <title><fmt:message key="titolo" /></title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <link rel="stylesheet" href="css/font.css">
        <link rel="stylesheet" href="css/seldoc.css">
        <script language="JavaScript" src="script.js"></script>
        <script type="text/javascript" src="js/tables.js"></script>
    </head>
    <script>
        function gotoFrame(link){
            self.frames['change'].location.href = link;
            return;
        }
    </script>
    <body>
        <br/>
        <div class="blueheader16">
            <fmt:message key="vis_fatt_multiple_img" />
        </div>
        <br/>
        <table style="width:100%" cellpadding="0" cellspacing="0">
            <tr>
                <td>
                    <table class="table-cls" ID="Tabella2" style="width: 100%">
                        <tbody>
                        <tr><!--javascript:document.location.href='edi.do?serv=I.3'-->
                            <td style="text-align: center;  border-bottom: 0;">
                                <iframe name="change" src="about:blank" style="text-align: center; width: 100%; height: 380px;" frameborder="0"></iframe>
                            </td>
                        </tr>
                        <tr>
                            <td style="text-align: center">
                                <!-- TASTO CHIUDI per chiudere la dialog: -->
                                <input style="color: #FFFFFF; font: bold 10px tahoma,arial,helvetica,sans-serif" class="bottone" readonly="readonly" type="button" value=CLOSE" onclick="javascript: history.go(-1);">
                            </td>
                        </tr>
                        </tbody>
                    </table>
                </td>
            </tr>
        </table>
        <script type="text/javascript">
            gotoFrame('edi.do?serv=I.5&pk=<%=(String)request.getAttribute("pk")%>');
        </script>
    </body>
</html>

正如你所看到的,这个页面包含一个关闭对话框的按钮,这个:

<input style="color: #FFFFFF; font: bold 10px tahoma,arial,helvetica,sans-serif" class="bottone" readonly="readonly" type="button" value=CLOSE" onclick="javascript: history.go(-1);">

要关闭对话框,它使用了JavaScript函数history.go(-1),但不起作用,因为据我所知,它会将用户带到上一页(如果存在)而不关闭。

如何关闭对话框?

如果您是从"对话框"中的代码中进行操作,请使用

window.close();

以响应用户事件(如单击按钮)。

如果您是从打开对话框的页面中的代码执行此操作,请使用pag_aperta

pag_aperta.close();

(您需要确保变量在使用它的函数之间共享。)

如果我理解正确:您习惯于关闭存储在变量"pag_perta"中的打开的窗口。试试这个:

pag_aperta.close();

希望它能帮助