script标签一般写在html的什么位置

青灯夜游
发布: 2022-09-16 16:20:23
原创
15859人浏览过
script标签的位置:1、放在head标签内部,浏览器解析HTML,解析到script标签时,会先下载完所有script,再往下解析其他的HTML;因此会使网页内容呈现滞后,用户体验差。2、放在body标签内部,浏览器会先解析完整个HTML页面,再下载并解析js。3、放在body闭标签之后,浏览器会忽略之前的“”,所以实际效果和写在body闭合标签之前没有区别。

script标签一般写在html的什么位置

本教程操作环境:windows7系统、HTML5版、Dell G3电脑。

一般script标签会被放在头部或尾部,头部就是head标签里,尾部就是body里,也有放在body闭合标签之后。

1、script标签放在head标签内部

<head>
    <title>获取DOM元素</title>
    <script>
        var myElement = document.getElementById("atag");
        console.log(myElement);
    </script>
</head>
<body>
    <div id="atag">
        <p>一个标签</p>
    </div>
</body>
登录后复制

打印结果:

在这里插入图片描述
当script标签放在head标签里时,浏览器解析HTML,解析到script标签时,会先下载完所有script,再往下解析其他的HTML。在浏览器下载js时,是不能多个js一起下载的,且浏览器下载js时,会阻塞解析其他的HTML。因此,将script标签放在头部,会使网页内容呈现滞后,用户体验差。

立即学习前端免费学习笔记(深入)”;

2、script标签放在body标签内部

<body>
    <div id="atag">
        <p>一个标签</p>
    </div>
<script>
    var myElement = document.getElementById("atag");
    console.log(myElement);
</script>
</body>
登录后复制

在这里插入图片描述

将script标签放在body尾部,浏览器会先解析完整个HTML页面,再下载js,这样的话,如果js执行出错了,最起码页面中的元素还可以加载出来,因为DOM文档是从上往下的顺序执行的。 但是对于一些高度依赖于js的网页,这样就会显得很慢。

标书对比王
标书对比王

标书对比王是一款标书查重工具,支持多份投标文件两两相互比对,重复内容高亮标记,可快速定位重复内容原文所在位置,并可导出比对报告。

标书对比王 58
查看详情 标书对比王

3、script标签放在body闭标签之后

<body>
    <div id="atag">
        <p>一个标签</p>
    </div>
</body>
<script>
    var myElement = document.getElementById("atag");
    console.log(myElement);
</script>
登录后复制

在这里插入图片描述

虽然放在body闭合标签之前和之后的打印结果是一样的,但是从HTML 2.0起放在body闭标签之后就是不合标准的。之所以浏览器不会报错,是因为如果在body标签之后再出现script或任何元素的开始标签,都是prase error(语法错误),浏览器会忽略之前的</body>,即视作仍旧在body内部,所以实际效果和写在body闭合标签之前是没有区别的。

怎样实现边解析页面边下载js呢?

asyncdefer

async

async的设置,会使得script脚本异步的加载并在允许的情况下执行,但是并不会按照在script在页面中的顺序来执行,而是谁先加载完谁执行。

<script async src="/script01.js"></script>
<script async src="/script02.js"></script>
登录后复制

如果script01.js较大,下载慢,则会导致script02.js可能先于script01.js执行。

defer

defer的设置,会是浏览器异步的下载该文件并且不会影响到DOM的渲染,如果有多个设置了defer的script标签存在,则会按照顺序执行所有的script,即先下载script01.js,再下载script02.js

【推荐学习:javascript视频教程

以上就是script标签一般写在html的什么位置的详细内容,更多请关注php中文网其它相关文章!

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号