码迷,mamicode.com
首页 > 编程语言 > 详细

【读书】《高程3》CH2--在HTML中使用JavaScript

时间:2017-11-18 15:59:43      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:脚本   load   html   文件的   其他   str   数字   加密   影响   

在HTML中使用JavaScript

<script>元素

向HTML页面插入JavaScript的主要方法,就是使用<script>元素。<script>定义了下列几个属性:

  • type:可选。表示编写代码使用的脚步语言的内容类型(也称为MIMI类型)。通常这个属性是text/javascript,不过不是必须的。
  • src:可选。表示包含要执行的代码的外部文件。
  • async:可选。表示应该立即下载脚步,但不妨碍页面中的其他操作(只对外部脚步有效)。
  • defer:可选。表示脚步可以延迟到文档完全被解析和现实之后再执行(只对外部脚步有效)。
  • charset:可选。表示通过src指定的代码的字符集。大多数浏览器会忽略他的值,所以很少有人用。
  • crossrigin:可选。当脚本是跨域获得时,控制是否公开错误信息。
  • nonce:可选。可以将加密随机数添加到样式和脚本中。加密随机数是随机生成的数字并且一个只能使用一次,而且是在每次页面请求的时候重新生成。网站的内容安全策略可以使用随机数来决定是否应在网页上应用特定的脚本或样式。

标签位置

  包含在<script>元素内部的代码是从上至下依次解释的(嵌入式js代码或者外部文件都是如此)。如果把所用的外部文件(包含CSS文件

和js文件)的引用放在<head>元素中,意味着必须等全部的js代码都被下载解析和执行完成后,才开始呈现页面内容。延迟之间会看到我们熟

悉的浏览器窗口一片空白。为了避免这个问题,一般把引用放在<body>元素中页面内容的后面。

延迟(defer)与异步(async)脚本

  defer属性只适用于外部文件,用途是表明脚本在执行时不会影响页面的构造。也就是说,脚本会被延迟到整个页面都解析完毕后再运行。立即下载延迟执行。延迟脚本

按照他们出现的顺序先后执行,会先于DOMContentLoaded事件执行,但现实中并不一定会按顺序执行,也不一定在DOMContentLoaded事件触发前执行,

因此最好只包含一个延迟脚本。

  async属性与defer类似,同样只适用于外部文件,并告诉浏览器立即下载文件。但于defer不同的是不保证按照指定它们的先后顺序。指定async属性的目的是不让页面等

待两个脚本的下载和执行,从而异步加载页面其他内容。为此,建议异步脚本不要在加载期间修改DOM。异步脚本一定会在load事件前执行。不确定会在DOMContentLoaded

事件触发之前或后执行。

嵌入代码与外部文件

建议使用外部文件,但是不强求。

外部文件的优点:

  • 可维护性
  • 可缓存:如果两个页面都使用同一个文件,那么文件只需下载一次。
  • 适应未来

<noscript>元素

在下列情况下会显示<noscript>元素中的内容:

  • 浏览器不支持脚本
  • 浏览器支持脚本,但脚本被禁用

 

【读书】《高程3》CH2--在HTML中使用JavaScript

标签:脚本   load   html   文件的   其他   str   数字   加密   影响   

原文地址:http://www.cnblogs.com/su546367194/p/ProJS-javascript-tag.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!