1

嗨,我有一张图片,点击该图片会调用另一个 .aspx 页面,该页面作为 iframe 加载。我想单击 iframe 内的按钮,它会关闭 iframe。我尝试了不同的方法,但它们都不起作用:

这是我的 iframe:

function openBox() {
    $(".nodeOption, .nodeOptionBlack").fadeIn(200);
    var pageHeight = $(document).height();
    var pageWidth = $(document).width();
    $(".nodeOptionBlack").css("height", pageHeight).css("width", pageWidth);
}

$(document).ready(function() {
    $(".nodeOptionBlack").click(function () {
        $(".nodeOption, .nodeOptionBlack").fadeOut(200);
    });

    $(".WindowClose").click(function () {
        $(".nodeOption, .nodeOptionBlack").fadeOut(200);
    });

Here is my function of button click:

function Submit_Click() {
    var enroll = test();
    if (enroll == "sale") {
        a.Node(urlParams["parentid"], urlParams["placement"], 1, "Sale");
    }
    else {
        a.Node(urlParams["parentid"], urlParams["placement"], 1, "");
    }

//here i want to close my iframe 
}

i tried different things like:

  $("#nodeOption").remove();
  window.parent.closeIframe();

      //document.getElementById("nodeOption").parent.removeChild(iframe);
     //$('#nodeOption', top.document).dialog('close');
     // window.parent.closeIframe();
    //$(".nodeOption, .nodeOptionBlack").fadeOut(200);

function closeIframe() {
    alert("hi");
    var ifram = document.getElementById(".nodeOption");
    iframe.parent.removeChild(iframe);
}

请提出我做错了什么。谢谢!

4

2 回答 2

1

感谢您的帮助,我的问题得到了解决。这是我所做的:

在我点击按钮的 iframe 中,我调用

 window.parent.closeIframe1();

在父页面上我编码:

  function closeIframe1()
        {
            $(".nodeOption, .nodeOptionBlack").fadeOut(200);
            return false;
        }

它对我来说很好。

于 2013-07-10T16:44:34.153 回答
1

解决方案

由于您使用的是 jQuery,因此请使用.remove()元素的方法。button在这里,我们通过单击任何元素获取 ID 为“iframe”的 iframe 并将其从正文中移除:

JavaScript/jQuery

/* This part is the put the button inside the iframe,
   it's not related to your problem */

$('#iframe').contents().find('body').append('<button>Click Here</button>');

/* We seek for a `button` element within the iframe body, in the iframe content */
$('#iframe').contents().find('body button').click(function (event) {
    event.preventDefault();
    $('#iframe').remove();
    $('#result').text('Iframe deleted!');
});

哦,相信我,您不想在纯 JavaScript 中执行此操作(在您尝试获取 iframe 的 ownerDocument 以删除 iframe 元素本身之前,一切都很容易)。

现场演示(更新)

于 2013-07-09T20:15:50.640 回答