你真的了解html吗?--之script标签介绍

一.属性:

src:该属性指定外部JavaScript文件的地址,可以跨域。如果指定了该属性,那么script标签中的内容就会被忽略。

 

type:指定所使用的脚本语言,可以覆盖默认的脚本语言(即在<META http-equiv="Content-Script-Type" content="type">中定义的脚本类型

)开发者必须指定该属性,该属性没有默认值。

 

language:(不赞成使用),指定script标签的内容所使用的脚本语言,该属性的值是一些语言的标示符,但是由于语言的标示符不标准,因此该属性被弃用了,偏向于使用type属性指定所使用的脚本语言。在ie中当有多个script标签时,最好为每个script都指定一个language属性,并且script标签的顺序也非常重要,特别是当一个脚本函数作为事件控制器赋予一个或者多个元素上时,xml对于script标签来说是合法的内容,但是xml不是一个脚本语言,如果把xml作为script 的内容如:

 

<html>
<head>
<SCRIPT LANGUAGE="XML" id="mySrc1">
<offerings>
 <class><materials>This should render.</materials><time>1.5
hr</time></class>
</offerings>
</SCRIPT>
<SCRIPT LANGUAGE="Javascript">
function returnIslandRootName()
{
  var islandRoot = document.all["mySrc1"].XMLDocument;
  alert(islandRoot.nodeName);
}
</SCRIPT>
</head>
<body>
<button onclick="returnIslandRootName()">Test the XML Data Island</button>
</body>
</html>

由于xml数据岛为第一个script标签中的内容,并且该标签指定了language为JavaScript,这时mshtml会在第一个script标签中加载returnIslandRootName 方法,因此会报错,那么正确的会是什么呢?

<html>
<head>
<SCRIPT LANGUAGE="Javascript">
function returnIslandRootName()
{
  var islandRoot = document.all["mySrc1"].XMLDocument;
  alert(islandRoot.nodeName);
}
</SCRIPT>
<SCRIPT LANGUAGE="XML" id="mySrc1">
<offerings>
 <class><materials>This should render.</materials><time>1.5
hr</time></class>
</offerings>
</SCRIPT>
</head>
<body>
<button onclick="returnIslandRootName()">Test the XML Data Island</button>
</body>
</html>

 

 

defer:该属性按时浏览器不立即让script标签产生文档内容。因此这样浏览器不用被阻止渲染文档内容。在firefox中需要Requires Gecko 1.9.1以上的引擎。

 

charset:该属性指定了外部JavaScript文件的编码方式。对于行内JavaScript文件的编码方式不起作用。

 

async:该属性需要Gecko 1.9.2以上的引擎,是firefox专有的属性,用来异步执行JavaScript脚本,只在拥有src属性时才气作用,

 

二.指定脚本语言的方式:

1.指定整个文档默认的脚本语言。

<META http-equiv="Content-Script-Type" content="type">

content:指定脚本语言的类型如:"text/tcl", "text/javascript", "text/vbscript".

由于文档默认的脚本类型是JavaScript,因此我们在使用JavaScript时最简单且兼容性最好的方式为<script></script>

2.指定当前脚本块所使用的脚本语言

通过script标签的type属性指定,这样会覆盖1中所定义的脚本语言类型。

 

如:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
     "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>A document with SCRIPT</TITLE>
<META http-equiv="Content-Script-Type" content="text/tcl">
<SCRIPT type="text/vbscript" src="http://someplace.com/progs/vbcalc">
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT type="text/javascript">
...some JavaScript...
</SCRIPT>
</BODY>
</HTML>
上面的例子指定这个文档所使用的默认的脚本语言类型text/tcl,第一块script中所以用的脚本类型为text/vbscript,第二块脚本块中所使用的脚本类型为text/javascript.
 
三.如果浏览器不支持所指定的脚本类型。应该用noscript标签指定。如:
<SCRIPT type="text/tcl">
 ...some Tcl script to insert data...
</SCRIPT>
<NOSCRIPT>
 <P>Access the <A href="http://someplace.com/data">data.</A>
</NOSCRIPT>
 

 

参考:http://www.w3.org/TR/html401/interact/scripts.html

https://developer.mozilla.org/En/HTML/Element/Script

http://msdn.microsoft.com/en-us/library/ms535892(VS.85).aspx

时间: 2024-10-28 07:52:13

你真的了解html吗?--之script标签介绍的相关文章

常用的script标签:defer和async

文章简介:我们常用的script标签,有两个和性能.js文件下载执行相关的属性:defer和async. 我们常用的script标签,有两个和性能.js文件下载执行相关的属性:defer和async defer的含义[摘自https://developer.mozilla.org/En/HTML/Element/Script] This Boolean attribute is set to indicate to a browser that the script is meant to be

Script标签与访问HTML页面详解

 本篇文章主要是对Script标签与访问HTML页面进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 复制代码 代码如下: <img src="1_ender1000.jpg" id="img2" alt="" onclick="alert('onclick');" onmouseover="this.src='1_yylklshmyt20090217.jpg'" title="

引用外部脚本时script标签关闭的写法

在引用外部脚本时,script标签的关闭写法,很多朋友对它保持健忘态度,下面为大家介绍下其正确的写法 在引用外部脚本时,script标签的正确关闭写法如下:   代码如下: <script type="text/javascript" src="js/a.js"></script>    自关闭写法有问题(测试的IE11, chrome 31.0, ff 25.0都不支持):   代码如下: <script type="tex

动态创建script标签实现跨域资源访问的方法介绍

 本篇文章主要是对动态创建script标签实现跨域资源访问的方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 login.html  代码如下: <script>   function request(id,url){      oScript = document.getElementById(id);      var head = document.getElementsByTagName("head").item(0);      if (oScript

服务器-script标签jsonp跨域问题

问题描述 script标签jsonp跨域问题 利用script标签的src属性跨域,得到object({"Name":"ss",Age:45}),这种数据服务器返回过来 以后,该如何使用 解决方案 注册一个object函数(作用域是全局的window下,不要放在其他函数里面申明)就可以接受数据了 jsonp就是一段可执行的js代码.. window.object=function(data){ alert(data.Name); alert(data.Age); }

javascript-网页中 script标签 type属性有什么用

问题描述 网页中 script标签 type属性有什么用 如题,按js参考材料上所说给type属性附上text/javascript说是告诉浏览器脚本属性,但我把这个删除我发现chrome也能正常显示javascript的,不知道为什么告诉不告诉浏览器脚本属性为什么都一样. 解决方案 不设置就是默认type=text/javascript 解决方案二: type是默认脚步属性:因为javascript占据了大半的市场,所以很多浏览器都默认为javascript和css3,html5中就不用再次生

JS中script标签defer和async属性的区别详解_javascript技巧

向html页面中插入javascript代码的主要方法就是通过script标签.其中包括两种形式,第一种直接在script标签之间插入js代码,第二种即是通过src属性引入外部js文件.由于解释器在解析执行js代码期间会阻塞页面其余部分的渲染,对于存在大量js代码的页面来说会导致浏览器出现长时间的空白和延迟,为了避免这个问题,建议把全部的js引用放在</body>标签之前. script标签存在两个属性,defer和async,因此script标签的使用分为三种情况: 1.<script

全面了解js中的script标签_基础知识

在页面中用script标签引入javascript文件(<script type="text/javascript" src="js文件地址"></script>),浏览器在渲染页面的时候,当读取到script元素时,浏览器不会以HTML或XHTML的方式处理其内容,浏览器会通知浏览器的脚本引擎来接管script元素中的内容. script元素的type属性定义脚本类型,type类型有: 1.text/ecmascript(表示以ECMASc

JavaScript动态添加css样式和script标签_javascript技巧

[动态添加css样式] <html> <head> <script type="text/javascript"> window.onload=function(){ var head=document.getElementsByTagName('head')[0]; //获取到head元素 var link=document.createElement('link'); //创建link元素节点,也就是link标签 link.rel="s