我要在网站上托管我的应用。该应用将显示在其中的iframe内。 我需要我的应用程序全屏显示,无论如何,我可以在哪里更改iframe的大小,这将从我的应用程序中保存我的应用程序? 我的应用程序和托管它的网站不是同一个域。
$("iframe", window.parent.document).css("width", "1000px");
这不起作用,因为该网站和应用不属于同一个域
答案 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');
});