《JavaScript精粹(修订版)》——1.7 给页面添加脚本

1.7 给页面添加脚本

要想让脚本工作,首先需要在页面中将其载入。有两种技术可以做到这一点,而其中一种技术明显优于另一种。

方 法
第一种,也是最直接的方法,是把代码写入script元素中,正像前面看见过的那样:

<script type="text/javascript">
function saySomething(message)
{
 alert(message);
}
saySomething('Hello world!');
</script>

这种方法的问题在于,对于老的或者不支持script元素的浏览器,这些内容会被解释为文本。

一种更好的替代方式是将脚本放入外部的一个JavaScript文件,如下:

<script type="text/javascript" src="what-is-javascript.js"></script>
这条语句会载入一个外部的名叫what-is-javascript.js的JavaScript文件。这个文件中将包含前一个例子放入script元素中的代码,如下:

文件:what-is-javascript.js

function saySomething(message)
{
 alert(message);
}
saySomething('Hello world!');

采用这种方法,不支持script元素的浏览器会忽略JavaScript部分,也不会显示多余内容(因为该元素的内容实际上是空的),不过那些能够解读script的浏览器会载入并处理该脚本。这有助于脚本和内容的分离,而且很容易维护,可以在不同的页面中使用同一个脚本,而无须复制脚本,也无需维护多个副本。

讨 论
也许您对避免在页面中写入脚本这个建议有异议,“不会有问题的呀”,您可能还会说,“我可以使用HTML注释把代码框起来”。不过我认为那不是一个好主意,使用HTML注释来“隐藏”代码是一种非常坏的习惯,一定要记住这一点。

1.7.1 用HTML注释框住代码
解析器本来无需读取注释内容,更不用去执行它。不过现实情况是,被注释的JavaScript完全可以工作,这是一个历史遗留问题,也是一种妥协,不应该假定解析器会正确地略过注释,忽略注释中的JavaScript,实际上,应该假定解析器一定不能正确地读取注释。

书中的所有例子都通过HTML提供(与之相对的是XHTML),所以这种假设是合理的。不过如果使用XHTML(使用application/xhtml+xml的MIME类型),在浏览器处理该文件之前,XML解析器能够正确地忽略其中的注释,这样,注释的JavaScript代码确实不会执行。不过,考虑到兼容性(以及良好的编程习惯),强烈建议您尽量不在注释中放入代码。JavaScript代码应该总是放到一个外部的JavaScript文件中。

1.7.2 语言属性
语言属性不再是必需的了。当Netscape 4和它同时代的浏览器成为了主流时,< script>标签扮演了一个探测脚本支持的角色(在JavaScript 1.3中指定),并且影响着脚本解释器的工作方式。

当JavaScript变成了ECMAScript时,指定JavaScript的版本已经毫无意义,语言属性已经被类型属性取代。这种属性指定了被包含文件的MIME类型,例如脚本和样式表的类型,而且这也是惟一的一种需要指定的类型:

<script type="text/javascript">
实际上,值应该被指定为text/ecmascript,不过Internet Explorer不认识这种信息。我个人希望它最好能支持,因为我输入javascript几个字比较费劲,有好多次,在输入text/javascript的时候我都输错。

时间: 2024-08-26 11:09:03

《JavaScript精粹(修订版)》——1.7 给页面添加脚本的相关文章

《JavaScript精粹(修订版)》——导读

**前言**对很多人来说,提起JavaScript,常常伴随着很多不愉快的记忆,例如讨厌的弹出式窗口.恼人的鼠标尾迹,还有令人沮丧的禁止鼠标右键的脚本.如果常常遇到这些脚本,就知道那是多么乏味和无聊.不过,JavaScript确实是一种成熟.专业的脚本语言,广泛地应用于现在的大多数网站,而且,它也几乎是所有基于Web的应用程序的关键性组件.别奇怪,我们确实是在谈论同一种技术. 当然,回顾过去,我认为很多人对JavaScript的感受还是比较准确的:JavaScript确实名声不太好,随着大量网站

用javascript为页面添加天气显示实现思路及代码

 为页面添加天气显示的方法有很多,在本文为大家介绍下使用js来轻松实现,具体的代码如下,感兴趣的朋友不要错过 复制代码 代码如下: <%@ page language="java" pageEncoding="UTF-8"%>  <html>  <head>  <script>  function load(cid)  {  var xmlhttp;  if (window.XMLHttpRequest)  {// c

基于JavaScript实现单选框下拉菜单添加文件效果_javascript技巧

本节讲述单选框/下拉菜单/添加文件,综合css,html和JavaScript实现的,具体详情如下所示: 单选框: 实现的功能是:(类似平时的性格测试) 先隐藏一部分页面,然后通过点击单选框来显示. 再通过选项的选择-(每个选项有不同的积分)积分的多少来给出评语 演示代码: <html> <head> <title>DHTML技术演示---radio的使用</title> <meta http-equiv="content-Type"

WCF HTTP 错误 404.3 - Not Found(由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。)

错误信息: HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加 MIME 映射. 最可能的原因: 可能是缺少处理程序映射.默认情况下,静态文件处理程序将处理所有内容. 您要使用的功能可能尚未安装. 没有为网站或应用程序启用相应的 MIME 映射.(警告: 请不要为用户不应下载的 .ASPX 页或 .config 文件等内容创建 MIME 映射.) 如果未安装 ASP.NET. 可尝试的操作: 在 s

Word2013如何为页面添加边框的格式

  为页面添加边框的格式的步骤如下: 步骤一:启动Word2013,打开一份文档,单击菜单栏--设计--页面边框,这里值得注意的是Word2013页面边框设置选项是在设计选项卡中,其他版本则是在页面布局选项卡中. 步骤二:在边框和底纹界面,线型选择第三种样式,颜色自己定,宽度为1.5磅. 步骤三:在艺术型选项中,下拉箭头,选择五角星图案,然后点击选项按钮. 步骤四:边框和底纹选项界面,我们将测量基准设置为文字,单击确定按钮. 步骤五:设置完成,大家看看效果,文档首尾都加上了五角星图案,比起单调的

阿云浏览器如何将当前页面添加到收藏夹

  当您需要将正在浏览的页面添加到您的收藏夹时,您可以进行如下几种操作: (1) 点击"云logo "--"收藏夹"--"添加到收藏夹",如下图所示: 然后,选择您要保存的目的位置以及标题即可,如下图所示: (2) 您可以直接点击地址栏最右侧的"星号 "直接添加到收藏夹,如下图所示:

页面添加,向一个表插入数据,如何判断某个列的值是否存在(不一定是id)如果存在就删除

问题描述 页面添加,向一个表插入数据,如何判断某个列的值是否存在(不一定是id)如果存在就删除 页面添加,向一个表插入数据,如何判断某个列的值是否存在(不一定是id)如果存在就删除 解决方案 插入前先查询,如果有存在相同数据的列删除,然后再插入! 解决方案二: 先去查询一遍,按照你要找的那个值,找到了的话,就把哪一行删除了,然后在添加.(记得用事务) 大概步骤: 1.先按照条件查询某个列是否存在: 2.删除上面查询出来的列: 3.新增新的数据 解决方案三: 添加前做一个查询表数据,跟新增对象的列

jsp-JSP页面添加一个“查询”按钮,查询条件为“姓名”反正就是字符串就行

问题描述 JSP页面添加一个"查询"按钮,查询条件为"姓名"反正就是字符串就行 JSP页面添加一个"查询"按钮,查询条件为"姓名"反正就是字符串就行,应该怎么写,对应的action和daoa怎么写?求代码~最主要,我是想知道,字符串怎么传值的,数据类型转换吗?所以我想看看代码..我用的是ssh架构,IntelliJ IDEA 10.5工具,拜托各位大神啦 解决方案 就正常的提交请求呀,和增删查改一样的 解决方案二: 很简单,按

代码-JSP页面添加一个“查询”按钮,查询条件为“姓名”反正就是字符串就行,我想知道,字符串怎么传值的

问题描述 JSP页面添加一个"查询"按钮,查询条件为"姓名"反正就是字符串就行,我想知道,字符串怎么传值的 JSP页面添加一个"查询"按钮,查询条件为"姓名"反正就是字符串就行,应该怎么写,对应的action和daoa怎么写?求代码~**最主要,我是想知道,字符串怎么传值的,数据类型转换吗?所以我想看看代码**..我用的是ssh架构,IntelliJ IDEA 10.5工具,拜托各位大神啦 解决方案 最简单的就是通过表单传值h