详谈HTML中script标签(附代码)
阅读产品标签:正品通常有详细的制造商信息和条形码。 #生活知识# #购物技巧# #品牌鉴别方法#
本篇文章给大家带来的内容是关于详谈html中script标签(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
script 元素
在 HTML 页面中使用「Javascript」语言主要的方法就是使用 script 元素,script 元素内部的代码从上而下依次执行。
在引入多个 script 元素的时候,浏览器会按照 script 元素在页面的中的先后顺序进行解析,当上一个解析完成时,才会进行下一个 script 元素中的内容
在 HTML 中使用 Javascript 的两种方法
1
2
3
4
5
6
7
<script>
console.log('第一种使用方法');
</script>
<script src="example.js"></script>
登录后复制
script 元素的属性
script 元素比较常用的几个属性
立即学习“前端免费学习笔记(深入)”;
src:可选,用于引用外部 javascript 文件
type:可选,编写代码使用的脚本语言的类型(也成MIME类型),默认值为 text/javascript
async:可选,异步加载脚本,只对外部脚本文件有效
defer:可选,延迟脚本加载,在文档完全被解析后在执行,只对外部脚本文件有效
script 元素在 HTML 中的位置
由于「Javascript」语言是一门单线程语言,在同一时间内,只能执行一个任务,所以只有当上一个任务完成之后才能进行下一个任务,因此会导致 script 元素在 HTML 中的位置不同,会表现出不同效果。
所有 script 元素都放在 元素中
这种做法意味着,我们必须等待所有的 Javascript 代码必须执行完成之后才能开始展示页面的内容,如果页面的 Javascript 代码非常多,这种方法就会导致我们看到页面的加载会非常慢,用户体验非常差,那么这么样去优化呢?其实很简单。
1
2
3
4
5
6
7
8
9
10
11
<!DOCTYPE html>
<html>
<head>
<title></title>
<script src="example1.js"></script>
<script src="example2.js"></script>
</head>
<body>
<div>页面的内容区域</div>
</body>
</html>
登录后复制
所有 script 元素都放在页面内容的后面
优化上面所说的页面加载慢的问题,只需要把我们使用的 Javascript 代码放到页面的内容之后即可,这样页面会首先加载内容然后现实出来,再去执行 Javascript 代码,这样用户就不会等待很久页面才会显示内容。
1
2
3
4
5
6
7
8
9
10
11
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<div>页面的内容区域</div>
<script src="example1.js"></script>
<script src="example2.js"></script>
</body>
</html>
登录后复制
脚本的延时加载
脚本如何进行延时加载,这个就要利用 script 元素的 defer 属性,在元素使用 defer 属性时,脚本会被延迟到整个页面解析完成后在执行。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
<script defer src="example1.js"></script>
<script defer src="example2.js"></script>
</head>
<body>
<div id="content">这里页面的内容</div>
</body>
</html>
登录后复制
你会发在没有加入 defer 属性时控制台会打印出如下结果
1
2
3
4
example1
null
example2
null
登录后复制
当给元素加上 defer 属性时,结果会发生变化,可以发现在 p 元素的内容加载完成之后 Javascript 代码才会执行。
1
2
3
4
example1
<div id="content">这里页面的内容</div>
example2
<div id="content">这里页面的内容</div>
登录后复制
脚本的异步加载
脚本的异步加载,要用到 script 元素到 async 属性,它与 defer 属性类似,都是修改 script 元素的加载行为,不过 async 属性不会影响页面的其他加载,不会阻塞文档呈现,而且带有 async 属性的脚本不能保证它们执行的前后顺序,这一点与 defer 属性有着不同之处。
换句话说 example2.js 的代码可能会先于 example1.js 中的代码执行,所以在使用 async 属性时,要避免两个 js 相互依赖。
1
2
3
4
5
6
7
8
9
10
11
12
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
<script async src="example1.js"></script>
<script async src="example2.js"></script>
</head>
<body>
<div id="content">这里页面的内容</div>
</body>
</html>
登录后复制
noscript 元素
早期的浏览器都会又一个问题,那就是当浏览器不支持 Javascript 语言时如何显示页面内容,为此的解决方案就是创建了一个 noscript 元素,它可以在不支持 Javascript 的浏览器中显示内容,而且只会在不支持 Javascript 的浏览器中才会显示其中的内容。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script async src="example1.js"></script>
<script async src="example2.js"></script>
</head>
<body>
<noscript>
当前浏览器不支持 Javascript 请更换浏览器
</noscript>
</body>
</html>
登录后复制
相关推荐:
script标签在HTML中的作用是什么?script标签中type属性的用法是什么?
HTML中的script标签研究_html/css_WEB-ITnose
html中的<script>标签还能链接非js文件啊_html/css_WEB-ITnose</script>
以上就是详谈HTML中script标签(附代码)的详细内容,更多请关注php中文网其它相关文章!
网址:详谈HTML中script标签(附代码) https://klqsh.com/news/view/100067
相关内容
IIS 8.5 详细错误单依纯回应养成系标签,谈五年成长盼与粉丝长久陪伴
有创意的个人标签
加强行业自律 规范价格行为 武夷山组织住宿业代表签订承诺书
7个SEO标题标签技巧
与「维修技巧」相关的文章聚合 当前位置:首页 > 标签首页 > 维修技巧
新媒体标题文案拟定技巧(附7种常见的文案标题写作方法)
如何写出吸引流量的SEO 优化标题?
不被标签化才是于适最大的可贵
SEO三大标签(基础三项)如何写才能更快收录?