是否可以从内部更改iframe的宽度/高度

时间:2013-08-15 07:54:04

标签: javascript jquery html asp.net iframe

我要在网站上托管我的应用。该应用将显示在其中的iframe内。 我需要我的应用程序全屏显示,无论如何,我可以在哪里更改iframe的大小,这将从我的应用程序中保存我的应用程序? 我的应用程序和托管它的网站不是同一个域。

$("iframe", window.parent.document).css("width", "1000px");

这不起作用,因为该网站和应用不属于同一个域

2 个答案:

答案 0 :(得分:3)

如果您的应用需要全屏运行,最安全的方法就是打破iframe。也就是说,检测您的网页是否在iframe中,如果是,请将浏览器重定向到您的网页,以便不再位于iframe中!

This page解释了如何做到这一点:

<script type="text/javascript">
    if (top.location!= self.location) {
        top.location = self.location.href;
    }
</script>

答案 1 :(得分:1)

如果你控制两个页面,那么你可以使用HTML5 Post message:

外:

$(window).bind("message", function(e) {
    $('iframe').attr({
        width: e.originalEvent.data.width,
        height: e.originalEvent.data.height
    });
});

$('button').click(function() {
    parent.postMessage({width: '200px', height: '200px'}, 'http://localhost');
});