使用JQuery的window.open不会在弹出窗口中打开JSP

时间:2013-06-09 18:51:38

标签: javascript jquery jquery-ui

朋友

我使用window.open甚至在按钮上并尝试加载显示结果的jsp页面,但是当我传递其名称时我无法打开所需的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. popupData.jsp
    • /reports/popupData.jsp
    • mylocation:8085 /报告/ popupData.jsp
  2. 仍然是第n个作品 如何确保strUrl位置正确 请让我知道

1 个答案:

答案 0 :(得分:0)

要“确保strUrl位置正确”,请在浏览器中打开新窗口或标签,将http://localhost:8085/reports/popupData.jsp粘贴到地址栏中,然后按 Enter 。如果您可以手动导航到该页面,则strUrl是正确的。

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

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

<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/