前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript之<script>标签简介

JavaScript之<script>标签简介

作者头像
郑小超.
发布2018-01-24 15:26:29
7140
发布2018-01-24 15:26:29
举报
文章被收录于专栏:GreenLeavesGreenLeaves

向html页面中插入JavaScrpt的主要方法,就是使用<script>元素,下面是Html 4.01为<script>定义的6个属性。

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

2、charset:可选。表示脚本通过src属性指定的代码的字符集。大多数浏览器会忽略它的值,所以这个属性也很少用。

3、defer:可选。表示脚本可以延迟到文档完全被解析和显示之后在执行。只对外部脚本有效。代码如下:

aaa.js文件

代码语言:javascript
复制
alert(document.getElementById("div"));

html文件:

代码语言:javascript
复制
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="aaa.js"></script>
</head>
<body>
<div id="div"></div>
</body>
</html>

输出:null

现在给外部<script>标签加上defer属性

代码语言:javascript
复制
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <script src="aaa.js" defer="defer"></script> //加上了defer属性
</head>
<body>
<div id="div"></div>
</body>
</html>

输出:[object HTMLDivElement]  这个属性很重要!

4、Lanuage:废弃,表示编写代码使用的脚本语言(如JavaScript,VBScript等)。现在大多数浏览器会忽略这个属性。

5、scr:表示要执行外部代码的外部文件。

6、type:可选。表示编写代码使用的脚本语言的内容类型(也称为MIME类型)。虽然text/javascript和text/ecmascript都已经不被推荐使用,但我们大多数都会用text/javascript。实际上,服务器在传送JavaScript文件时使用的MIME类型通常是application/x-javascript,但在type中设置这个值可能导致脚本被忽略。另外在非IE下可以使用以下值:application/javascript和application/ecmascript。考虑到约定俗成和最大限度的浏览器兼容性,目前type的属性值依然是text/javascript。不过,这个属性不是必须的,如果没有指定这个属性,则其默认值仍为text/javascript。

关于<script></script>元素的使用有下面几点需要注意的

(1)带有src属性的<script>元素不应该在其<script></script>标签之间在出现JavaScript代码,如果出现了,浏览器会下载并执行外部脚本文件,嵌入的代码会被忽略。

(2)<script>元素的src属性还可以包含来自外部域的JavaScript文件。代码如下:

代码语言:javascript
复制
<script src="http://www.tongli.con/test.js" defer="defer"></script>

这样位于外部域中的JavaScript代码也会被加载和解析,用这种方法加载Js文件看似强大,但是要注意安全性。

(3)<script>元素,只要不存在defer和async属性,浏览器都会按照文档流的形式依次对html文件里面的元素进行解析。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016-09-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档