2-1.JS相关概念

作者: guidetheorient | 来源:发表于2017-05-12 20:59 被阅读0次

一、CSS和JS在网页中的放置顺序?

待参考文献
1.Where should I put <script> tags in HTML markup?

CSS应放在头部;
一般情况下,JS应放在body结束标签前。

<!--头部引入CSS-->
<head>
  <link rel="stylesheet" href="css/layout.css" type="text/css">
</head>
<!--body闭合标签前引入JS-->
 <script type="text/javascript" src="script.js"></script>
</body>

二、解释白屏和FOUC

参考文献
1.前端基础问题整理-HTML相关

  • 原因:当把css样式放在底部或者使用@import方式引入样式时
  • 影响:
    • 一些浏览器例如Chrome,他的加载和渲染机制是等css全部加载解析完后再渲染展示页面,而这个等待的时间就为白屏。
    • 另一些浏览器例如Firefox,他会在css未加载前先展现页面,等css加载后再重绘一次,这就造成了FOUC (无样式内容闪烁)。

三、async和defer的作用和区别

参考文献
1.async vs defer attributes
2.浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
3.script的defer和async

async:异步下载脚本;下载完成后立即执行,不分脚本的顺序;执行过程还是会阻塞页面解析的;

defer: 设置了defer的脚本下载时不会阻塞页面的解析,而是等到页面解析结束之后再执行。

  • 相同点:
    • 下载都不会阻止html页面解析
    • 对外链js有效
  • 区别:
    • async下载完立即执行,defer在页面解析完成后执行;
    • async可能未按照顺序执行,defer还是按顺序执行;
<script src="script1.js" async></script><!--async-->
<script src="script2.js" defer></script><!--defer->
<script src="script3.js"></script><!--normal-->
async defer and normal attributes

相关文章

  • 2-1.JS相关概念

    一、CSS和JS在网页中的放置顺序? 待参考文献1.Where should I put tags in HT...

  • 2-1.JS相关概念-2 网页渲染机制

    参考文献1.Render-Tree Construction, Layout, and Paint1.Render...

  • 相关概念

    中间件 是提供系统软件和应用软件之间连接的软件,以便于各种部件之间的沟通,特别是应用软件对于系统软件的集中的逻辑。...

  • 14-进程和任务计划

    本章内容 ◆ 进程相关概念◆ 进程工具◆ 系统性能相关工具◆ 计划任务 进程概念 进程,线程和协程 进程相关概念 ...

  • spring相关概念

    1、spring是开源的轻量级框架 2、spring核心主要两部分: (1)aop:面向切面编程,扩展功能不是修改...

  • Linux 相关概念

    Linux 文件系统 ext 文件系统(Extended 扩展)几乎不产生磁盘碎片,所以在Linux系统下一般不需...

  • Java概念相关

    封装,继承,多态,生命周期,垃圾回收,虚拟机,类加载器,反射

  • HTML——相关概念

    1.HTML文档(网页) HTML文档又称为网页。 2.Web浏览器 用于读取HTML文件,并且将其作为网页显示 ...

  • Openshift相关概念

    转:https://www.jianshu.com/p/a4712351142d Openshift是一个开源容器...

  • 论文相关概念

    最近看了许多论文,有一些概念本来也无关紧要,但是看得多了也就自然而然的懂了,在这里分享给大家。 1. Transa...

网友评论

    本文标题:2-1.JS相关概念

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