绑定到iframe中的元素(相同的域)

时间:2011-07-21 20:37:49

标签: javascript jquery iframe

我有一个iframe,我正在动态插入页面。然后我想绑定到该iframe中的按钮以在父页面上触发页面刷新。

这可能吗?两者都在同一个域名上。

$('body').append('<iframe id="cacheBuster" src="http://lol.com/system/page.aspx" style="position: absolute; top:0; right:0; width: 20px; height: 20px; background: #fff" frameborder="0"></iframe>');

var cacheIframe = $('#cacheBuster');

cacheIframe.live('mouseover', function()  {
        $(this).stop().animate({ width : 300, height : 300});
    });

cacheIframe.contents().find('#buttonid').live('click',function() {
    alert('cleared!');
    window.location.reload();
});

1 个答案:

答案 0 :(得分:1)

我想如果你这样做:

window.location.reload(); ==&gt; window.parent.location.reload();

您可以实现所描述的功能。

但是,如果代码在外部窗口中运行,那么您的代码应该已经有效,因为范围中的window是父代码的var ifr = document.createElement('iframe'); ifr.src = "http://google.com/"; document.body.appendChild(ifr); button = ifr.contentDocument.createElement('a'); button.onclick = "window.parent.location.reload();" //you could prob use jquery here ifr.contentDocument.body.appendChild(button); 。你试过了吗?

修改 好的,如果没有jquery,这可能更容易。

{{1}}