Javascript 在跨域站点中动态调整iFrame的大小

Javascript 在跨域站点中动态调整iFrame的大小,javascript,php,jquery,Javascript,Php,Jquery,我想根据父级的内容大小动态调整iFrame的大小。我可以访问父(源)和子(目标)网站/服务器 但是,它们是跨域服务器。他们都在不同的领域。我真的不知道如何使用jQuery。是否有一个简单易懂的教程?我不确定您是否可以仅使用css来完成此任务,但是如果您希望在您都可以访问的iFrame之间传输信息,并且为了避免跨域错误,您可以在url中传输数据,并使用JS和JQUERY处理它们 假设此文件是main index.html <iframe src="www.a.com/?width=330&a

我想根据父级的内容大小动态调整iFrame的大小。我可以访问父(源)和子(目标)网站/服务器


但是,它们是跨域服务器。他们都在不同的领域。我真的不知道如何使用jQuery。是否有一个简单易懂的教程?

我不确定您是否可以仅使用css来完成此任务,但是如果您希望在您都可以访问的iFrame之间传输信息,并且为了避免跨域错误,您可以在url中传输数据,并使用JS和JQUERY处理它们 假设此文件是main index.html

<iframe src="www.a.com/?width=330&height=220"></iframe>

这是iframe索引中的代码

<iframe src="www.b.com"></iframe> 
   <script>


function getParam(name) {
  name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
  var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
          results = regex.exec(location.search);
  return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
    $(function(){
           $('iframe[src="www.b.com"]').width(getParam('width')).height(getParam('height')) 
    });
    </script>

函数getParam(名称){
name=name.replace(/[\[]/,“\\[”)。replace(/[\]]/,“\\]”);
var regex=new RegExp(“[\\?&]”+name+“=([^&\]*)”,
results=regex.exec(location.search);
返回结果===null?”:decodeURIComponent(结果[1]。替换(/\+/g,”);
}
$(函数(){
$('iframe[src=“www.b.com”]').width(getParam('width')).height(getParam('height'))
});

您可以尝试使用iframe resizer jquery插件。它对我有用

只需下载以下js文件:

www.ADomain.com中,将此代码块添加到包含iframe的页面中

<script type="text/javascript" src="jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="iframeresizer.min.js"></script>
<script type="text/javascript" src="iframeresizer.contentwindow.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $('#IframeID').iFrameResize({
            autoResize: true,
            enablePublicMethods: false,
            sizeWidth: false,
            heightCalculationMethod: 'bodyScroll'
        });
    });
</script>

$(文档).ready(函数(){
$('#IframeID')。iframesize({
自动调整大小:正确,
enablePublicMethods:false,
尺寸:错,
高度计算方法:“bodyScroll”
});
});

然后在www.BDomain.com中,在将加载到iframe的页面中添加此代码块,以避免出现名为“有时我的iframe未调整大小”的异常错误。这将创建大小调整器的实例

  • 将此jquery库放在页面的
    部分中


  • 将这一行放在代码的最后一部分


  • 希望这对你有帮助。祝你好运,兄弟

    我会使用get参数将父iframe的大小传递给子iframe,并使用JS加载iframe,就像我说的,我是新手,我不知道怎么做。你能告诉我怎么做吗?我正在将www.a.com嵌入www.b.com显示一个技巧,该技巧涉及在框架内创建框架。因此
    www.b.com
    有一个指向
    www.a.com
    的iframe,这个iframe的url是通过javascript生成的,它指向
    www.b.com/setsize.php?height=XXX&width=XXX
    -
    XXX
    www.b.com
    上文档的宽度/高度(无论是滚动高度、车身高度等),然后setsize.php上的脚本可以执行类似于
    top.document.getElementById(“myIframe”).style.height='500px;'看到我的答案,希望你能处理。你在一堆问题中说了“请帮助”和“紧急”。请停止那样做。