0

每当单击特定按钮时,我都会运行 jQuery.post():

function createNewImage () {
    jQuery.post("create/new/image.php", {some:params}, function (data) {
        loadImageSelector(data);
    }, "json");
}

create/new/image.php成功运行并且服务器准备好接受图像并将其附加到新创建的数据库行时,我们打开这个 jQuery UI 对话框模式:

function loadImageSelector(data) {
    jQuery('<iframe src="script.php?id=' + data.param + '" /></iframe>').dialog({
        modal: true,
        width: 500,
        height: 400,
        resizable: false,
        title: "Upload an Image"
    });
}

问题是在 IE8 上我看到 2 个对话框弹出。1 包含完整内容script.php并且看起来正确,但在此之上是另一个对话框,它只有一个标题(“上传图像”)和一个关闭按钮 - 没有内容(iframe)。此行为在 IE9/Chrome/Firefox 中不会发生。

4

1 回答 1

0

这有点意思。上面的代码正在关闭 2 个 iframe,而 IE8 以某种方式做出反应并创建了 2 个模式。

第一个标签通过自身关闭,/>但随后包含另一个</iframe>标签。这是偶然的,但我发现它的反应如此有趣。

无论如何,确保标记存在,因为它应该 ( <iframe ...></iframe>) 解决了问题。

于 2012-06-11T23:02:04.540 回答