• iframe与UserControl的比较与应用场景


    iframe与UserControl的比较:

    1、在加载数据量小的时候,两者无明显差异,无论同步加载还是异步加载
    2、iframe本身加载内容不影响主页面的可操作性,而UserControl不用Ajax则需要加载完成才能操作主页面
    3、iframe也可以使用延迟加载,触发事件来设置iframe的src属性。UserControl使用Ajax实现延迟加载。
    4、面对大数据量问题,两者加载速度没有明显差异,但是外层DIV的display速度上有差异。用iframe控制显隐很流畅,而UserControl则有所延迟。

    5、部分浏览器的对Iframe的支持不是很好,如果不想让其出现滚动条,需要自己写js控制。

      下面附一小段代码:  

    function iframeAutoSize(iframeId) {
    if (document.getElementById) {
    //自动调整iframe高度
    var iframe = document.getElementById(iframeId);
    if (iframe && !window.opera) {
    iframe.style.display
    = "block";
    if (iframe.contentDocument && iframe.contentDocument.body.offsetHeight) {
    //如果用户的浏览器是IE
    var contentDocHeight = iframe.contentDocument.body.offsetHeight;
    iframe.height
    = contentDocHeight;
    }
    else if (iframe.Document && iframe.Document.body.scrollHeight) {
    //其它浏览器
    iframe.height = iframe.Document.body.scrollHeight;
    }
    }
    }
    //根据设定的参数来处理不支持iframe的浏览器的显示问题
    if (document.all || document.getElementById) {
    var tempobj = document.all ? document.all[iframeId] : document.getElementById(iframeId);
    tempobj.style.display
    = "block";
    }
    }

      

    6、iframe父页面与子页面间的交互不如UserControl灵活,但是使用UserControl要保证多个UserControl中的HTML控件id和js方法名和全局变量名称要唯一。

  • 相关阅读:
    ES6中的新特性
    怎样优化CPU
    es6 一些小知识
    ECMAScript有6种继承方式(实现继承)
    angula的factory service provider
    angular的继承作用域通信
    MVP和MVC的区别
    判断浏览器版本语句大全
    IScroll5+在ios、android点击(click)事件不兼容解决方法
    css中单位px和em,rem的区别
  • 原文地址:https://www.cnblogs.com/aisini/p/iframeVSUserControl.html
Copyright © 2020-2023  润新知