• Iframe跨域嵌入页面自动调整高度的办法


    http://www.a.com/A.html

    http://www.a.com/B.html

    http://www.a.com/D.js  

    http://www.c.com/C.html

    A.html:

    <iframe id="iframe_shg" src="http://www.c.com/c.html" frameborder="0" width="100%"></iframe>

    ________________________________________________________________

    B.html:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset='utf-8' />
        <title>B.html</title>
    </head>
    <body>
        <script type="text/javascript">
            window.onload = function() {
                var isSet = false
                var inteval = setInterval(function() {
                    var search = location.search.replace('?', '')
                    if (isSet) {
                        clearInterval(inteval)
                        return
                    }
                    if (search) {
                        var height = search.split('=')[1]
                        var doc = parent.parent.document
                        var ifr = doc.getElementById('iframe_shg')
                        ifr.style.height = height + 'px'
                        isSet = true
                    }
                }, 500)
            }
        </script>
    </body>
    </html>

    ________________________________________________________________

    D.js

    // 计算页面的实际高度,iframe自适应会用到
    function calcPageHeight(doc) {
        var cHeight = Math.max(doc.body.clientHeight, doc.documentElement.clientHeight)
        var sHeight = Math.max(doc.body.scrollHeight, doc.documentElement.scrollHeight)
        var height = Math.max(cHeight, sHeight)
        return height
    }
    window.onload = function () {
        var doc = document
        var height = calcPageHeight(doc)
        var myifr = doc.getElementById('myifr')
        if (myifr) {
            myifr.src = 'http://www.a.com/B.html?height=' + height
            // console.log(doc.documentElement.scrollHeight)    
        }
    };

    _________________________________________________________________

    C.html

    <body>

    ........................

        <iframe id="myifr" style="display:none" src="http://www.a.com/B.html"></iframe>
        <script type="text/javascript" src="http://www.a.com/D.js"></script>

    </body>

  • 相关阅读:
    ELK+Kafka集群日志分析系统
    Centos 6.5 部署 redmine 3.3
    Centos 6.5 搭建l2tp 服务端和客户端
    Logstash之multiline 插件
    MYSQL MHA
    windows上给yii2安装插件
    YII2框架的安装
    Apache服务器配置项和虚拟机配置
    浮点数的比较
    微信自定义菜单总结
  • 原文地址:https://www.cnblogs.com/sekon/p/5111601.html
Copyright © 2020-2023  润新知