Jquery模态对话框不加载页面

时间:2013-05-16 17:22:04

标签: jquery dialog jquery-ui-dialog

我有一个html页面,其内容低于html内容

<div id="divBody">
    <input type="text" id="txtUrl" value="http://www.google.com" />
    <br />
    <input type="button" id="btnShowPopup" value="Show Popup" onclick="Javascript:ShowPopup();" />
</div>
<div id="divPopup">
</div>

我有一个ShowPopup函数,如下所示:

function ShowPopup() {
    var page = "http://www.google.com";
    $('#divPopup').dialog({
        modal: true,
        open: function() {
            $(this).load(page);
        },
        close: function(e) {
            $(this).empty();
            $(this).dialog('destroy');
        },
        height: 625,
        width: 500,
        title: "Test Page"
    });
}

我包含了所有jquery脚本,如下所示:

<script src="Scripts/JQuery.js" type="text/javascript"></script>
<script src="Scripts/jquery.ui.core.js" type="text/javascript"></script>
<script src="Scripts/jquery.ui.widget.js" type="text/javascript"></script>
<script src="Scripts/jquery.ui.mouse.js" type="text/javascript"></script>
<script src="Scripts/jquery.ui.draggable.js" type="text/javascript"></script>
<script src="Scripts/jquery.ui.position.js" type="text/javascript"></script>
<script src="Scripts/jquery.ui.resizable.js" type="text/javascript"></script>
<script src="Scripts/jquery.ui.button.js" type="text/javascript"></script>
<script src="Scripts/jquery.ui.dialog.js" type="text/javascript"></script>

标题“测试页面”和关闭按钮显示。为什么它没有加载谷歌页面,任何想法?

1 个答案:

答案 0 :(得分:1)

因为它是一个跨域请求。不知道为什么你试图将谷歌的页面加载到对话框中。加载这样的页面可以使用iFrame完成(是的,我知道它们被认为是坏的)。尝试加载服务器上的页面。

这可能会有助cross-domain-ajax-querying-with-jquery

查看IE的开发人员工具(F12),我发现这是因为跨域请求。

  

SEC7118:http://www.google.com/index.html的XMLHttpRequest需要跨源资源共享(CORS)。

     

SEC7127:针对CORS请求阻止了重定向。

     

SCRIPT7002:XMLHttpRequest:网络错误0x2ef1,由于错误00002ef1无法完成操作。