Javascript 是否可以从内部更改iframe的宽度/高度
我将在一个网站上托管我的应用程序。应用程序将显示在其中的iframe中。 我需要我的应用程序在全屏上,是否有任何地方我可以改变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", 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计划”,或者是最后的努力。那我就放你一马;)投票支持解释。道歉!!