0

朋友们

我什至在按钮上使用 window.open 并尝试加载显示结果的 jsp 页面,但是当我传递其名称以使用

var windowObjectReference = window.open(strUrl, strWindowName[, strWindowFeatures]);

我的 pageOne.jsp 中的代码如下

<input type="button" value="OPEN" onclick="window.open('http://localhost:8085/reports/popupData.jsp','Select Language','modal=yes,dialog=yes,width=200,height=360,resizable=no');" />
        <p id="text">Selected Languages are:</p>

现在我尝试了将 strUrl 作为参数传递的以下选项

  1. 弹出数据.jsp
    • /reports/popupData.jsp
    • 我的位置:8085/reports/popupData.jsp

仍然有效我如何确保 strUrl 位置正确请告诉我

4

1 回答 1

0

要“确保 strUrl 位置正确”,请在浏览器中打开一个新窗口或选项卡,粘贴http://localhost:8085/reports/popupData.jsp到地址栏中并点击Enter. 如果您可以手动导航到该页面,那么strUrl是正确的。

在处理弹出窗口时,您可能会遇到浏览器安全问题或弹出窗口阻止程序。更大的问题是,对于现代浏览器,您无法以编程方式控制弹出窗口是在新窗口还是新选项卡中打开。这完全取决于用户的控制。

好消息是您已将此问题标记为 jQueryUI,因此您可以访问 jQuery UI 对话框小部件。对现有标记的简单更改:

<input type="button" id="showLanguage" value="OPEN" />
<div id="dlg"></div>

然后是一点点脚本:

$(document).ready(function () {
    $('#showLanguage').click(function (e) {
        $.ajax({
            "url": "http://localhost:8085/reports/popupData.jsp"
            "method": "GET",
            "dataType": "html",
            "success": function (data) {
                $('#dlg').html('<p id="text">Selected Languages are:</p>' + data).dialog({
                    "autoOpen": true,
                    "modal": true,
                    "title": "Select Language",
                    "width": 200,
                    "height": 360
                });
            }
        });
    });
});

瞧!你有一个“弹出窗口”作为你的界面,没有任何现代浏览器安全功能的“麻烦”(加上它是可主题的,所以它看起来像你界面的一部分)。

这是一个小提琴:http: //jsfiddle.net/MdwaG/

于 2013-06-09T20:10:16.223 回答