JQuery Dialog重新打开错误

时间:2012-08-22 07:27:03

标签: jquery jquery-ui-dialog

我是JQuery的新手。我正在使用对话框弹出一个窗口,显示来自外部站点的页面。

<script type="text/javascript">


    $.fx.speeds._default = 400;
    jQuery.support.cors = true;

    $(function ()
    {


        $("#cmdLaunchInDiv").click(function ()
        {

            $("#dialog-modal").dialog({
                autoOpen: false,
                height: 845,
                width: 820,
                show: "scale",
                hide: "scale"
            });

            $.ajax({
                url: 'http://www.mycompany.com/geturl/?userid=' + document.getElementById("txtUserId").value,
                dataType: 'json',
                success: function (data)
                {
                    $('#dialog-modal').html("<iframe id='iFr' style='height:800; width:800; overflow: hidden;' height='800' width='800' scrolling='no' src='" + data + "'>");

                }

            });

            $("#dialog-modal").dialog("open");
            return false;
        });
    });

<div id="dialog-modal" title="My Page" >


</div>

Ajax调用根据用户ID获取我想要加载的URL。如果我不使用该行      jQuery.support.cors = true; Ajax调用不起作用,我不知道为什么该行修复了该问题,但我的搜索建议它会。

问题在于,当我第一次运行页面时,一切正常。我输入我的用户ID单击div打开的按钮,页面按预期加载。然后,我使用对话框右上角的内置关闭X关闭对话框,框按预期关闭。但是,如果我再次尝试打开对话框,则会在JQuery-1.8.0.js中出现错误

Microsoft JScript运行时错误:“数组”未定义

// Save a reference to some core methods
core_push = Array.prototype.push,    //<=== This line
core_slice = Array.prototype.slice,
core_indexOf = Array.prototype.indexOf,
core_toString = Object.prototype.toString,
core_hasOwn = Object.prototype.hasOwnProperty,

我找不到任何东西来帮助我找出问题所在,并多次重写我的Jquery。

更新:此错误发生在IE9中。在Chrome和Firefox中,对话框会正确打开和关闭,但除非我尝试在同一个域中加载页面,否则不会显示内容。

有人能指出我正确的方向吗?

非常感谢

佛瑞德

0 个答案:

没有答案