Javascript 对话框模式关闭时刷新Iframe

Javascript 对话框模式关闭时刷新Iframe,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我是Jquery对话框和Iframe的新手,我只想问一下,当对话框模式关闭时,我是否可以刷新静态Iframe 这里是静态Iframe: 我尝试添加这个$('#frameUserInfo')。重载(true)但它不工作 只是想给你一个更好的画面,在我的父窗口中,有一个静态Iframe,其中包含一个按钮,打开$(“#dialogAddPhone”)点击事件在/User/UserInfo 这一个在父窗口中: <div id="dialogAddPhone" title="Document Up

我是Jquery对话框和Iframe的新手,我只想问一下,当对话框模式关闭时,我是否可以刷新静态Iframe

这里是静态Iframe:

我尝试添加这个
$('#frameUserInfo')。重载(true)但它不工作

只是想给你一个更好的画面,在我的父窗口中,有一个静态Iframe,其中包含一个按钮,打开
$(“#dialogAddPhone”)
点击事件在
/User/UserInfo

这一个在父窗口中:

<div id="dialogAddPhone" title="Document Upload" style="overflow-y: hidden;">
    <iframe id="myIframeAddPhone" src="" style="border: none; width: 100%; height: 100%;">
    </iframe>
</div>
然后在关闭对话框后,它应该只刷新
frameUserInfo

loadIframe('myIframeAddPhone', href);
 parent.$("#dialogAddPhone").dialog("open");
 return false;

谢谢!:)

您可以使用以下选项:

第一种方法

$("#dialogAddPhone").dialog({
        autoOpen: false,
        resizable: false,
        modal: true,
        width: 700,
        height: 700,
        position: ['center', 40],
        close: function (event, ui) {
            $('#dialogAddPhone').attr('src', '');
            document.getElementById('frameUserInfo').contentWindow.location.reload(); //Reloads the Iframe
        }
    });
第二种方法

$("#dialogAddPhone").dialog({
        autoOpen: false,
        resizable: false,
        modal: true,
        width: 700,
        height: 700,
        position: ['center', 40],
        close: function (event, ui) {
            $('#dialogAddPhone').attr('src', '');
            document.getElementById('frameUserInfo').contentWindow.location.reload(); //Reloads the Iframe
        }
    });
再次设置iframe的源。它将刷新iframe

$("#dialogAddPhone").dialog({
    autoOpen: false,
    resizable: false,
    modal: true,
    width: 700,
    height: 700,
    position: ['center', 40],
    close: function (event, ui) {
        $('#dialogAddPhone').attr('src', '');
        var iframe = document.getElementById('frameUserInfo');
        iframe.src = iframe.src;//Reloads the Iframe
    }
});
第一种方法在Chrome中不起作用,因为没有
contentWindow
属性。所以你应该使用第二种方法

下面是一个使用第二种方法进行相同操作的示例。

尝试以下方法:

$( '#frameUserInfo' ).attr( 'src', function ( i, val ) { return val; });

Link:

很抱歉回复太晚,但我遇到了一个错误,该错误表示
uncaughttypeerror:cannotread属性'src'为null
似乎在加载iframe之前调用了该函数。你能检查一下吗?静态iframe在父窗口中。对话框关闭后,父窗口上的iframe应该刷新。您可以在Fiddle中复制此问题吗?如果没有更多的信息,很难说是什么导致了这个问题。让我们来看看。
$( '#frameUserInfo' ).attr( 'src', function ( i, val ) { return val; });