文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

script标签一般写在html的哪里

2024-04-02 19:55

关注

本文小编为大家详细介绍“script标签一般写在html的哪里”,内容详细,步骤清晰,细节处理妥当,希望这篇“script标签一般写在html的哪里”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

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

本教程操作环境: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标签一般写在html的哪里
当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标签一般写在html的哪里

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

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

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

script标签一般写在html的哪里

虽然放在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

读到这里,这篇“script标签一般写在html的哪里”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯