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

Javascript 是否可以从内部更改iframe的宽度/高度,javascript,jquery,html,asp.net,iframe,Javascript,Jquery,Html,Asp.net,Iframe,我将在一个网站上托管我的应用程序。应用程序将显示在其中的iframe中。 我需要我的应用程序在全屏上,是否有任何地方我可以改变iframe的大小,它将容纳我的应用程序从我的应用程序?? 我的应用程序和托管它的站点不是同一个域 $("iframe", window.parent.document).css("width", "1000px"); 这不起作用,因为站点和应用程序不属于同一个域如果您控制这两个页面,则可以使用HTML5发布消息: 外部: $(window).bind("message

我将在一个网站上托管我的应用程序。应用程序将显示在其中的iframe中。 我需要我的应用程序在全屏上,是否有任何地方我可以改变iframe的大小,它将容纳我的应用程序从我的应用程序?? 我的应用程序和托管它的站点不是同一个域

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

这不起作用,因为站点和应用程序不属于同一个域

如果您控制这两个页面,则可以使用HTML5发布消息:

外部:

$(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');
});

如果你的应用程序需要全屏运行,最明智的方法就是跳出iframe。也就是说,检测您的页面是否在iframe中,如果是,请将浏览器重定向到您的页面,使其不再在iframe中

说明如何执行此操作:

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

if(顶部位置!=自身位置){
top.location=self.location.href;
}

如果他们不在同一个域中,我想你会发现这相当困难。更不用说这是不受欢迎的!!我想您需要使用
attr('width','1000px')
。但只有当iframe属于同一个域时,它才能工作。@Neurofluxation是的,我无法将我的应用程序更改为全屏mode@jcubic我也试过了!!它不起作用恐怕不行,这里有一个更成熟的答案:不,我不能控制它!!有没有别的办法改变它??谢谢你和+1的回答。这种回答否定了问题的全部要点,也就是调整iframe的大小。@Neurofluxation,但问题已经回答了。那是“不”。因此,OP必须寻找其他方式来实现他们想要的(即,全屏显示应用程序)。把我的回答看作是“B计划”,或者是最后的努力。那我就放你一马;)投票支持解释。道歉!!