只要一提到把JavaScript放到网页中,就不得不涉及Web的核心语言——HTML。在当初开发JavaScript的时候,Netscape要解决的一个重要问题就是如何做到让JavaScript既能与HTML页面共存,又不影响那些页面在其他浏览器中的呈现效果。经过尝试、纠错和争论,最终的决定就是为Web增加统一的脚本支持。而Web诞生早期的很多做法也都保留了下来,并被正式纳入HTML规范当中。

<script>元素

向HTML页面中插入JavaScript的主要方法,就是使用<script>元素。这个元素由Netscape创造并在Netscape Navigator2中首先实现。后来,这个元素被加入到正式的HTML规范中。HTML4.01为<scripth>定义了下列6个属性。

  • async:可选。表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本。只对外部脚本有效。

  • charset:可选。表示通过src属性指定的代码的字符集。由于大多数浏览器会忽略它的值,因此这个属性很少有人用。

  • defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部脚本有效。

  • language:已废弃。

  • src:可选。表示包含要执行代码的外部文件。

  • type:可选。可以看成是language的替代属性;表示编写代码使用的脚本语言的内容类型(也称为MIME类型)。

使用<script>元素的方式有两种:直接在页面中嵌入JavaScript代码和包含外部JavaScript文件。

在使用<script>元素嵌入JavaScript代码时,只需为<script>指定type属性。然后,向下面这样把javaScript代码直接放在元素内部即可:

[js] view plaincopy
  1. <script type="text/javascript">
  2. function sayHi(){
  3. alert("Hi!");
  4. }
  5. </script>

包含在<script>元素内部的JavaScript代码将被从上至下依次解释。就拿前面这个例子来说,解释器会解释一个函数的定义,然后将该定义保存在自己的环境当中。当解释器对<script>元素内部的所有代码求值完毕前,页面中的其余内容都不会被浏览器加载或显示。

如果要通过<script>元素来包含外部JavaScript文件,那么src属性就是必需的。这个属性的值是一个指向外部javascript文件的链接,例如:

[js] view plaincopy
  1. <script type="text/javascript" src="example.js"></script>

在这个例子中,外部文件example.js将被加载到当前页面中。外部文件只须包含通常要放在开始的<script>和结束的</script>中间的那些javascript代码即可。与解析嵌入式javascript代码一样,在解析外部javascript文件(包括下载该文件)时,页面的处理也会暂时停止。如果是在XHTML文档中,也可以省略前面示例代码中结束的</script>标签,例如:

[js] view plaincopy
  1. <script type="text/javascript" src="example.js" />

按照惯例,外部javascript文件带有.js扩展名。但这个扩展名不是必需的,因为浏览器不会检查包含javascript的文件的扩展名。这样一来,使用JSP、PHP或其他服务器端语言动态生成javascript代码也就成为了可能。但是,服务器通常还是需要看扩展名决定为响应应用哪种MIME类型。如果不适用.js扩展名,请确保服务器能反应会正确的MIME类型。

原文地址:HTML中javascript的<script>标签使用方法详解

转载于:https://www.cnblogs.com/MagicalOfD/p/6500647.html

script标签的使用,从零开始相关推荐

  1. HTML5 script 标签的 crossorigin 和integrity属性的作用

    Bootstrap 4 依赖的基础库中出现了两个新的属性 1 <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.slim ...

  2. Script标签的async和defer

    之前有写过HTML页面渲染过程,知道了JavaScript是会阻塞DOM解析的,所以我们会把script标签放到底部防止阻塞HTML解析.其实script还有两个属性,async和defer,也是可以 ...

  3. script标签的defer属性

    defer 属性规定是否对脚本执行进行延迟,直到页面加载为止. 有的 javascript 脚本 document.write 方法来创建当前的文档内容,其他脚本就不一定是了. 如果您的脚本不会改变文 ...

  4. 浅谈script标签中的async和defer

    script标签用于加载脚本与执行脚本,在前端开发中可以说是非常重要的标签了. 直接使用script脚本的话,html会按照顺序来加载并执行脚本,在脚本加载&执行的过程中,会阻塞后续的DOM渲 ...

  5. vue 如何解析原生html,VUE渲染后端返回含有script标签的html字符串示例

    VUE渲染后端返回含有script标签的html字符串示例 发布时间:2020-09-14 23:37:52 来源:脚本之家 阅读:207 作者:冷幽悠 在接入支付宝支付模块的时候,支支返回的是一个f ...

  6. html css integrity,HTML5 script 标签的 crossorigin 和integrity属性的作用

    Bootstrap 4 依赖的基础库中出现了两个新的属性 1 2 3 HTML5 新的规定,是可以允许本地获取到跨域脚本的错误信息,但有两个条件:一是跨域脚本的服务器必须通过 Access-Contr ...

  7. script标签属性sync和defer

    <script src="a.js" defer></script> 加了defer属性script标签的页面,运行流程如下: 1.浏览器开始解析HTML页 ...

  8. 面试小记---外部脚本必须包含 script 标签吗?

    外部脚本必须包含 <script> 标签吗? 答案是否定的. 身为小白的我一开始也是以为这句话的对了,因为本来嘛,引用外部脚本不都用的是<script>标签中的src属性吗.所 ...

  9. script标签中的async和defer

    在程序中代码是一行一行执行的,html标签都是由渲染引擎来执行,代码执行时从上往下一行一行执行,当执行到alert(如下图),alert会阻塞后面代码的执行,当点击完确定之后,代码继续往下执行. ja ...

  10. 用手动创建新的script标签的方式,实现JavaScript脚本的异步加载

    代码第四行里新建一个script标签页,在第8行的回调函数onreadystatechange里,根据属性readyState判断当前标签页的状态,如果为loaded或者complete,说明脚本加载 ...

最新文章

  1. 一张图搞定Android学习路线
  2. Qt安装—图文并茂搭建VS2008+QT开发环境
  3. springboot 常用的异常处理方式
  4. java通过maven构建项目实现日志生成模拟(一)创建maven项目+安装配置Fastjson.jar和Logback.jar 和 slf4j.jar
  5. java中实现选择文件_Java实现选择文件并显示文件内容代码
  6. mysql8坑太多_mysql8安装遇到的坑
  7. 贪心思维 专题记录 2017-7-21
  8. (五)Qt实现自定义模型基于QAbstractItemModel
  9. 3D视频的质量评价报告 (MSU出品)
  10. JDK8+Ojdbc7,连接oracle
  11. python随机产生手机号码
  12. python爬取二手房信息_使用Scrapy爬取链家二手房信息
  13. 网络无法访问互联网是什么原因
  14. 阿里正式交棒在即 普通股“一拆八”为赴港上市铺路?
  15. 扫雷c语言完整源代码,C语言扫雷源码
  16. 别样的风景——韦应物《滁州西涧》赏析
  17. 日本与美国服务器比较
  18. 学java双十一电脑推荐_双十一,有什么值得学生购买的电脑吗?
  19. arch linux简体中文,Locale (简体中文)
  20. 微信转发的文件服务器留存吗,微信转发这种视频会感染病毒泄露隐私?网警的查证结果来了...

热门文章

  1. 计算机网络误区——为什么我的PING包发不出去?
  2. ln -s 一定要用绝对路径
  3. 一个简单的任务处理队列
  4. linux 交换机 进程,基于Linux系统交换机的进程升级研究
  5. Shell date连接mysql执行指令
  6. 关于vector的两个问题(reserve方法修整过剩空间)
  7. 电瓶车续航测试软件,【电驹视频】实测13款电动车真实续航,最靠谱的竟然是它……...
  8. java容器输入_Java 容器初识篇
  9. mifare classic 2.2.3中文_西班牙人为什么学中文?他们是这么说的……
  10. 在使用刚体时的几个注意点和参数