您的位置:首页 > Web前端 > JavaScript

HTML 加载CSS文件和javascript的思考

2016-12-08 17:31 218 查看
起因:工作过程中有时候会看网上别人写的一些优秀代码,发现自身的不足。随产生了一些思考,记下了以下一些知识片段。

浏览器在迅速发展,一些总结、资料很难与时俱进。大家应该多测试,多发现,这样得来的知识,才不会过时。

我的这些记录,也肯定在未来甚至就在现在,已经存在错误。

1、浏览器显示页面的过程:先是DNS解析,然后建立TCP连接,接着下载HTML内容以及资源文件,最后才是整个页面的渲染。

2、html加载是按顺序加载

3、js文件是在head和body标签内,所以head里面的先加载了下来。如果你的js文件或者css文件很大,或者出问题,这时候就会出现阻塞问题。(阻塞问题后面会提到)

关于引入位置,css建议在head标签引入。js文件在body标签底部引入。

4、head标签里面的js,调用的时候才执行,body标签里面的js会在加载到的时候执行。

5、function test(){} 的方式定义函数,浏览器会优先解析。var test = function(){}的方式和普通变量一样,没有优先解释权。

function语句式定义的函数,在函数前边调用也可以,但是注意,调用与定义要在同一个script代码块中,否则不行。

6、 js、css独立文件的多少会影响请求次数。这个可以看看淘宝腾讯的处理方式。

7、浏览器prefetch ,就是预加载。现在的浏览器非常强悍,更新也非常的迅速。前面提到的阻塞,文件大等情况,浏览器做了很多优化处理。

8、js\css\html 是会存在相互影响的,看浏览器怎么解析

9、一切的根本都是浏览器,所以进阶的目标是了解浏览器源码

最后贴一个别人的html代码,出处我找不到了,我的习惯一般是先在本机用文档做记录。以下为引用...

<!DOCTYPE html>
<html>
<head>
<!--网页页面字符集-->
<meta charset="utf-8">

<!--让IE使用最新的渲染模式-->
<meta http-equiv="X-UA-Compatible" content="IE=edge">

<!--针对移动设备,网站显示宽度等于设备屏幕显示宽度,内容缩放比例为1:1-->
<meta name="viewport" content="width=device-width, initial-scale=1">

<!--将下面的 <meta> 标签加入到页面中,可以让部分国产浏览器默认采用高速模式渲染页面:-->
<meta name="renderer" content="webkit">
<!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->

<title>Bootstrap Basic Template</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!--下面这一大块的注释是说:"为了让IE9以下的浏览器支持响应式和HTML5标签.需要引入下面两个JS文件"-->
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="http://cdn.bootcss.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="http://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>

<!-- 英:jQuery (necessary for Bootstrap's JavaScript plugins) -->
<!--中:必须在JS文件引入之前引入JQ文件,这里src引用的是本地.线上建议使用CDN引用)
<script src="js/jquery-2.1.3.min.js"></script>

<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="js/bootstrap.min.js"></script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息