云切图

HTML

HTML标签复习,帮你快速掌握html标签,助推学生快速完成网页作业

首页 > 前端笔记 > HTML

HTML中script标签说明?dw网页制作

作者:admin 发布时间:2022-11-08 点击数:
<p>本篇文章给大家带来的内容是关于详谈HTML中script标签(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。</p><p><strong>script 元素</strong></p><p>在 HTML 页面中使用「Javascript」语言主要的方法就是使用 script 元素,script 元素内部的代码从上而下依次执行。</p><p>在引入多个 script 元素的时候,浏览器会按照 script 元素在页面的中的先后顺序进行解析,当上一个解析完成时,才会进行下一个 script 元素中的内容</p><p>在 HTML 中使用 Javascript 的两种方法</p><pre class="brush:html;toolbar:false">//第一种方法:直接在标签内使用&nbsp;javascript&nbsp;即可 <script> &nbsp;&nbsp;&nbsp;&nbsp;console.log(&#39;第一种使用方法&#39;); </script> //第二种方法:引用外部文件 <script&nbsp;src="example.js"></script></pre><p><strong>script 元素的属性</strong></p><p>script 元素比较常用的几个属性</p><p><strong>src:</strong>可选,用于引用外部 javascript 文件</p><p><strong>type:</strong>可选,编写代码使用的脚本语言的类型(也成MIME类型),默认值为 text/javascript</p><p><strong>async</strong>:可选,异步加载脚本,只对外部脚本文件有效</p><p><strong>defer:</strong>可选,延迟脚本加载,在文档完全被解析后在执行,只对外部脚本文件有效</p><p>script 元素在 HTML 中的位置</p><p>由于「Javascript」语言是一门单线程语言,在同一时间内,只能执行一个任务,所以只有当上一个任务完成之后才能进行下一个任务,因此会导致 script 元素在 HTML 中的位置不同,会表现出不同效果。</p><p>所有 script 元素都放在 <head> 元素中</p><p>这种做法意味着,我们必须等待所有的 Javascript 代码必须执行完成之后才能开始展示页面的内容,如果页面的 Javascript 代码非常多,这种方法就会导致我们看到页面的加载会非常慢,用户体验非常差,那么这么样去优化呢?其实很简单。</p><pre class="brush:html;toolbar:false"><!DOCTYPE&nbsp;html> <html> <head> <title>学生网页作业</title> <script&nbsp;src="example1.js"></script> <script&nbsp;src="example2.js"></script> </head> <body> <div>页面的内容区域</div> </body> </html></pre><p>所有 script 元素都放在页面内容的后面</p><p>优化上面所说的页面加载慢的问题,只需要把我们使用的 Javascript 代码放到页面的内容之后即可,这样页面会首先加载内容然后现实出来,再去执行 Javascript 代码,这样用户就不会等待很久页面才会显示内容。</p><pre class="brush:html;toolbar:false"><!DOCTYPE&nbsp;html> <html> <head> <title>学生网页作业</title> </head> <body> <div>页面的内容区域</div> <script&nbsp;src="example1.js"></script> <script&nbsp;src="example2.js"></script> </body> </html></pre><p><strong>脚本的延时加载</strong></p><p>脚本如何进行延时加载,这个就要利用 script 元素的 defer 属性,在元素使用 defer 属性时,脚本会被延迟到整个页面解析完成后在执行。</p><pre class="brush:html;toolbar:false">//example1.js&nbsp;中的代码 //console.log(&#39;example1&#39;); //console.log(document.getElementById(&#39;content&#39;)); //example2.js&nbsp;中的代码 //console.log(&#39;example2&#39;); //console.log(document.getElementById(&#39;content&#39;)); <!DOCTYPE&nbsp;html> <html> <head> &nbsp;&nbsp;&nbsp;&nbsp;<meta&nbsp;charset="UTF-8"> &nbsp;&nbsp;&nbsp;&nbsp;<title>Title</title> &nbsp;&nbsp;&nbsp;&nbsp;<script&nbsp;defer&nbsp;src="example1.js"></script> &nbsp;&nbsp;&nbsp;&nbsp;<script&nbsp;defer&nbsp;src="example2.js"></script> </head> <body> &nbsp;&nbsp;&nbsp;&nbsp;<div&nbsp;id="content">这里页面的内容</div> </body> </html></pre><p>你会发在没有加入 defer 属性时控制台会打印出如下结果</p><p>example1</p><p>null</p><p>example2</p><p>null</p><p>当给元素加上 defer 属性时,结果会发生变化,可以发现在 p 元素的内容加载完成之后 Javascript 代码才会执行。</p><p>example1</p><p><div id="content">这里页面的内容</div></p><p>example2</p><p><div id="content">这里页面的内容</div></p><p><strong>脚本的异步加载</strong></p><p>脚本的异步加载,要用到 script 元素到 async 属性,它与 defer 属性类似,都是修改 script 元素的加载行为,不过 async 属性不会影响页面的其他加载,不会阻塞文档呈现,而且带有 async 属性的脚本不能保证它们执行的前后顺序,这一点与 defer 属性有着不同之处。</p><p>换句话说 example2.js 的代码可能会先于 example1.js 中的代码执行,所以在使用 async 属性时,要避免两个 js 相互依赖。</p><pre class="brush:html;toolbar:false"><!DOCTYPE&nbsp;html> <html> <head> &nbsp;&nbsp;&nbsp;&nbsp;<meta&nbsp;charset="UTF-8"> &nbsp;&nbsp;&nbsp;&nbsp;<title>学生网页作业</title> &nbsp;&nbsp;&nbsp;&nbsp;<script&nbsp;async&nbsp;src="example1.js"></script> &nbsp;&nbsp;&nbsp;&nbsp;<script&nbsp;async&nbsp;src="example2.js"></script> </head> <body> &nbsp;&nbsp;&nbsp;&nbsp;<div&nbsp;id="content">这里页面的内容</div> </body> </html></pre><p><strong>noscript 元素</strong></p><p>早期的浏览器都会又一个问题,那就是当浏览器不支持 Javascript 语言时如何显示页面内容,为此的解决方案就是创建了一个 noscript 元素,它可以在不支持 Javascript 的浏览器中显示内容,而且只会在不支持 Javascript 的浏览器中才会显示其中的内容。</p><pre class="brush:html;toolbar:false"><!DOCTYPE&nbsp;html> <html> <head> &nbsp;&nbsp;&nbsp;&nbsp;<meta&nbsp;charset="UTF-8"> &nbsp;&nbsp;&nbsp;&nbsp;<title>学生网页作业</title> &nbsp;&nbsp;&nbsp;&nbsp;<script&nbsp;async&nbsp;src="example1.js"></script> &nbsp;&nbsp;&nbsp;&nbsp;<script&nbsp;async&nbsp;src="example2.js"></script> </head> <body> &nbsp;&nbsp;&nbsp;&nbsp;<noscript> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;当前浏览器不支持&nbsp;Javascript&nbsp;请更换浏览器 &nbsp;&nbsp;&nbsp;&nbsp;</noscript> </body> </html</pre><p><br/></p>

关注我们共同进步

  • 扣扣交流群

  • 微信公众号

  • 私技术顾问

嘿,我来帮您!