关闭旧iframe后创建新iframe

creating new iframe after closing old one

本文关键字:iframe 创建      更新时间:2023-09-26

我有一个通过ajax发送数据到php文件的字段Iframe。如果它是成功的,我关闭(它正在工作)iframe,并创建一个新的信息(不工作)。那么问题来了:如何关闭旧框架并打开另一个框架?

这是一个ajax函数,它可以工作,但不会打开一个新的iframe

$.ajax({
        type: "POST",
        url: "sign.php",
        data: {name : name,
            data: canvasData
            },
        success: function () {
           //frame_activation(); //if it will be here it will open iframe inside the old one iframe. 
            alert('done');
            close_frame (); 
            $(body).html(argument[0]);
            //windows.top.frame_activation();
            frame_activation(); // does't work
        }
    });

所以结果是-旧iframe发送信息并关闭它,但不打开一个新的iframe。

框架激活:

function frame_activation() {   
//document.getElementById('bg_frame').style.visibility = 'visible';
reg = document.createElement('iframe');
document.body.appendChild(reg);
reg.id = 'iframe';
reg.src = 'activate.html';
reg.style.width='600px';
reg.style.height='200px';
position_frame(reg);
reg.style.border='solid 5px #d4d4d4';
alert('here');
return false;
}
关闭iframe:
function close_frame () {
    parent.document.getElementById('bg_frame').style.visibility = 'hidden';
    var el = parent.document.getElementById('iframe');
    el.style.display='none';
    parent.document.body.removeChild(el);   
    return(false);  
}
使用 字段创建第一个iframe的函数
function frame_reg() {  
    document.getElementById('bg_frame').style.visibility = 'visible';
    reg = document.createElement('iframe');
    document.body.appendChild(reg);
    reg.id = 'iframe';
    reg.src = 'frame.html';
    reg.style.width='640px';
    reg.style.height='400px';
    position_frame(reg);
    reg.style.border='solid 5px #d4d4d4';
    return false;
    }

可以通过改变iframe的src来改变页面的显示。

这是使用Jquery的示例:
$(document).ready(function () {
     $("#btnMenu1").click(function () {
         $("#myIframe").attr("src", "example.aspx");
     });
});