• 每日思考(2020/08/14)


    题目概览

    • iframe的使用场景有哪些
    • 怎么让body高度自适应屏幕
    • js延迟加载的方式有哪些

    题目解答

    iframe的使用场景有哪些

    • 典型系统结构,左侧是功能树,右侧就是一些常见的table或者表单之类的。为了每一个功能,单独分离出来,采用iframe
    • ajax上传文件:iframe实现Ajax文件上传效果示例
    • 加载别的网站内容,例如google广告,网站流量分析
    • 在上传图片时,不用flash实现无刷新
    • 跨域访问的时候可以用到iframe,使用iframe请求不同域名下的资源

    怎么让body高度自适应屏幕

    • DOM 元素的 height 当设为百分比时,只有当父元素有一个定高的值时才会生效,否则不起作用

    • 要让 body 高度自适应就必须要在 html 上设置定高。而 html 的父级就是浏览器,html 的宽高由浏览器决定。浏览器的宽高是定值,因此需要给 htmlbody 同时设置 100%

      html,body{
          height:100%
      }
      
    • 另外也可以给 body 设置一个 min-height: 100vh; 让 body在高度不够时可以撑满整个屏幕。(做验证可以使用 border,background 即便是高度不足时,浏览器也会填满颜色

      body{
      	min-height: 100vh;
      }
      

    js延迟加载的方式有哪些

    • defer 属性:

      <!DOCTYPE html>
      <html>
      <head>
      <script src="test1.js" defer="defer"></script>
      <script src="test2.js" defer="defer"></script>
      </head>
      <body>
      <!-- 这里放内容 -->
      </body>
      </html>
      
    • async 属性

      <!DOCTYPE html>
      <html>
      <head>
      <script src="test1.js" async></script>
      <script src="test2.js" async></script>
      </head>
      <body>
      <!-- 这里放内容 -->
      </body>
      </html>
      
    • 动态创建DOM方式

      //这些代码应被放置在</body>标签前(接近HTML文件底部)
      <script type="text/javascript">
      function downloadJSAtOnload() {
      varelement = document.createElement("script");
      element.src = "defer.js";
      document.body.appendChild(element);
      }
      if (window.addEventListener)
      window.addEventListener("load",downloadJSAtOnload, false);
      else if (window.attachEvent)
      window.attachEvent("onload",downloadJSAtOnload);
      else
      window.onload =downloadJSAtOnload;
      </script>
      
    • 使用jQuery的getScript方法

      $.getScript("outer.js",function(){//回调函数,成功获取文件后执行的函数
      	console.log("脚本加载完成")
      });
      
    • 使用setTimeout延迟方法

    • 让JS最后加载:把js外部引入的文件放到页面底部,来让js最后引入,从而加快页面加载速度

  • 相关阅读:
    微软VS2008月底推出beta 2中文版 搭配.NET 3.5
    Asp.Net AjaxPasswordstrength控件使用
    Asp.Net AjaxHoverMenu控件使用
    Asp.Net Ajax AutoComplete控件使用
    ASP.NET中基类页的设计和使用
    Asp.Net中页面间传值方法
    基于ASP.NET AJAX技术开发在线RSS阅读器(上篇)
    Asp.Net AjaxFilteredTextBox控件使用
    基于ASP.NET AJAX技术开发在线RSS阅读器(下篇)
    Asp.Net AjaxTextBoxWateramrk控件使用
  • 原文地址:https://www.cnblogs.com/EricZLin/p/13507209.html
Copyright © 2020-2023  润新知