美文网首页
兼容IE8侧边栏无刷新之iframe

兼容IE8侧边栏无刷新之iframe

作者: 爷爷的毛丫头 | 来源:发表于2019-01-14 11:17 被阅读0次

    需求:公司项目需要兼容IE8,但是无法使用框架,侧边栏要在短期内更新版本为侧边栏无刷新。

    解决方法:最快的方法就是使用iframe。

    实现思路:新建一个新的main.html页面,页面内容是顶部侧边栏和左侧侧边栏内容,页面的中间部分只使用一个iframe,不同的页面切换时,iframe的src地址切换。

    1.main.html页面代码

    侧边栏的元素代码以及

    <iframe name="mainiframe" src="/Initial.html" id="mainiframe" scrolling="yes" onload="resizeFrameHeight()" frameborder="0" width="100%"></iframe>

    点击侧边栏a标签,a标签的src地址会复制到 

    侧边栏的a标签需要跳转页面的,要添加一个target属性,target的值为iframe的name值,比如我的target="mainiframe",然后点击侧边栏a标签,iframe的src就会转换为a标签的src,实现侧边栏无刷新。

    2.如果main.html想使用iframe页面的方法,可以如下,兼容到IE8:

    /**

        * 加载iframe中sonff公共函数

        */

        $(document).ready(function(e){ 

            var iframe = document.getElementById("mainiframe"); 

            if(document.documentMode == 8){

                $("#mainiframe")[0].contentWindow.sonff();

                if (iframe.attachEvent) {   

                    iframe.attachEvent("onload", function() {   

                        //iframe加载完成后你需要进行的操作 

                        $("#mainiframe")[0].contentWindow.sonff();

                    });   

                } else {   

                    iframe.onload = function() {   

                        //iframe加载完成后你需要进行的操作 

                        $("#mainiframe")[0].contentWindow.sonff();

                    };   

                }

            }else{

                if (iframe.attachEvent) {   

                    iframe.attachEvent("onload", function() {   

                        //iframe加载完成后你需要进行的操作 

                        $("#mainiframe")[0].contentWindow.sonff();

                    });   

                } else {   

                    iframe.onload = function() {   

                        //iframe加载完成后你需要进行的操作 

                        $("#mainiframe")[0].contentWindow.sonff();

                    };   

                }

            } 

        });

    2.如果iframe想使用页面main.html的方法,可以如下,兼容到IE8:

    $(".nav .comparisonUl",parent.document).show();

    在元素后面加个,parent.document就可以了。

    3.设置iframe高度 

        function resizeFrameHeight(){

            var ifm = document.getElementById("mainiframe");

            ifm.height = document.documentElement.clientHeight - 50;

        }

        window.onresize=function(){

            resizeFrameHeight();

        }

    4.后续有关于iframe需要用到的会继续更新

    相关文章

      网友评论

          本文标题:兼容IE8侧边栏无刷新之iframe

          本文链接:https://www.haomeiwen.com/subject/fdpurqtx.html