web前端面试的主要会问到哪些问题
来源:互联网 发布:mac暗黑3无法进入游戏 编辑:程序博客网 时间:2024/05/24 05:48
关于js、CSS的阻塞问题,送你几道面试真题:
1、CSS怎么会阻塞加载了?CSS本来是可以并行下载的,在什么情况下会出现阻塞加载了(在测试观察中,IE6下CSS都是阻塞加载)。
2、当CSS后面跟着嵌入的JS的时候,该CSS就会出现阻塞后面资源下载的情况。而当把嵌入JS放到CSS前面,就不会出现阻塞的情况了。
根本原因:因为浏览器会维持html中css和js的顺序,样式表必须在嵌入的JS执行前先加载、解析完。而嵌入的JS会阻塞后面的资源加载,所以就会出现上面CSS阻塞下载的情况。
嵌入JS应该放在什么位置?
1、放在底部,虽然放在底部照样会阻塞所有呈现,但不会阻塞资源下载。
2、如果嵌入JS放在head中,请把嵌入JS放在CSS头部。
3、使用defer(只支持IE)。
4、不要在嵌入的JS中调用运行时间较长的函数,如果一定要用,可以用`setTimeout`来调用。
Javascript无阻塞加载具体方式
1、将脚本放在底部:<link>还是放在head中,用以保证在js加载前,能加载出正常显示的页面。<script>标签放在</body>前。
2、成组脚本:由于每个<script>标签下载时阻塞页面解析过程,所以限制页面的<script>总数也可以改善性能。适用于内联脚本和外部脚本。
3、非阻塞脚本:等页面完成加载后,再加载js代码。也就是,在window.onload事件发出后开始下载代码。
(1)defer属性:支持IE4和fierfox3.5更高版本浏览器 ;
(2)动态脚本元素:文档对象模型(DOM)允许你使用js动态创建HTML的几乎全部文档内容。
代码如下:
<script>
var script=document.createElement("script");
script.type="text/javascript";
script.src="file.js";
document.getElementsByTagName("head")[0].appendChild(script);
</script>
- web前端面试的主要会问到哪些问题
- web前端面试问题
- Web前端面试中遇到的问题
- 这段时间面试WEB前端的面试问题总结
- Web前端面试问题汇总
- web前端面试问题总结
- Web前端面试指导(四十九):web前端项目的结构是怎样的?文件有哪些命名规范?
- Web前端面试 面试官常问问题
- Web前端面试指导(三十八):js延迟加载的方式有哪些?
- Web前端面试指导(五十一):javascript的编写规范有哪些?
- MTK 面试的主要问题
- Web前端面试指导(十):元素定位有哪些?
- Web前端面试指导(十一):样式导入有哪些方式?
- Web前端面试指导(四十):CSS3有哪些新特性?
- 前端面试一般会问到的问题
- web前端都要学哪些
- web前端面试问题及答案
- WEB前端面试问题汇总2
- Java IO操作
- RxJava数据转化源码解析
- 数据库的哈希设计
- 自定义圆环,在小圆内,在圆环内,在圆外详解。。。。
- 怎么从微信公众号嵌入的qq视频找到视频的源地址
- web前端面试的主要会问到哪些问题
- PageOfficeCtrl支持直接打开服务器磁盘文件
- 解决mac eclipse报错:target runtime com.genuitec.runtime.generic.java is not defined
- ActiveMQ自定义messageid
- 5折交叉验证的回归分析
- mysql按照天、月份、年份统计查询
- 南京远古高清视频直播解决方案
- iOS中AutoLayer自动布局流程及相关方法
- checkbox 使用