习目标:了解JavaScript是如何与HTML结合来创建动态网页,网页中嵌入JavaScript的不同方式,JavaScript的内容类型及其与<script>的关系
<script>是由Netscape创造出来,后来加到HTML规范中的。
<script>有8个属性:
1、async:表示立即开始下载脚本,但不能阻止其他页面动作,比如下载资源或者等待其他脚本加载。只对外部脚本文件有效。
2、charset:使用src属性指定代码字符集。这个属性很少用,因为大多数浏览器不在乎它的值。
3、crossorigin;配置资源请求的CORS(跨源资源共享)设置。默认情况下不使用CORS。crossorigin=“anonymous”配置文件请求不用设置凭据标志。crossorigin=”use-credentials“设置凭据标志,意味着出站请求会包含凭据。
4、defer:表示脚本可以延迟到文档全部解析和显示后再执行。新版本中只能用于外部脚本。
5、integrity:允许比对接收到的资源和指定的加密签名以验证子资源完整性(SRI,Subresource integrity),如果验证签名不匹配则脚本不会执行。这个属性可以用于确保内容分发网络(CDN,Content Delivery Network)不会提供恶意内容。
6、language:此属性已被废止。
7、src:表示包含外部要执行的代码的外部文件。
8、type:代替language,表示代码块中脚本语言的内容类型(也称为MIME类型),按照惯例这个值始终都是”text/JavaScript“,尽管”text/JavaScript“和”text/ecmascript“都已经废弃。JavaScript文件的MIME类型通常是”application/x-javascript“,不过给type属性这个值的话可能会导致脚本被忽略。在非IE的浏览器中有效的值还有”application/JavaScript“和”application/ecmascript"。如果这个值是module,则代码会被当成是ES6模块,而且只有这时候代码中才能出现import和export关键字。
使用<script>的方式有内联和外嵌两种,只要把code写入<script>code</script>中就好,code中要是包含字符串“<script>”,只要加上转义字符“\”即可。
如果要外嵌JavaScript代码只要使用src属性来链接外部文件即可如:
<script src=“example.js”></script>
XHTML 文档中,可以忽略结束标签写成<script src=“example.js”/>即可,但是这在HTML中不能使用。
过去把JavaScript和CSS一起写在head中,但是这意味着必须下载所有code并解析和解释完成后才开始渲染页面,对于JavaScript很多的页面会导致页面渲染速度过慢,为解决这个问题,JavaScript一般写在body元素的页面内容的最后边,如下
<html>
<head></head>
<body>
message
<script>code<\script>
<\body>
</html>
在外联JavaScript时可以使用defer属性来推迟脚本的运行。可以写成:
<html>
<head>
<script defer src="example.js">code<\script>
</head>
<body>
message
<\body>
</html>
async属性从脚本处理方式上与defer类似,但是不同的是标记async的脚本并不能保证脚本按照他们的出现顺序执行,比如:
<html>
<head>
<script sync src="example1.js">code<\script>
<script sync src="example2.js">code<\script>
</head>
<body>
message
<\body>
</html>
不能保证example1比example2先执行。
除了<script>以外还可以用其他方式加载脚本。因为JavaScript可以使用DOM API,所以通过向DOM中动态地加入script元素同样可以加载指定脚本。只要创建一个script元素并将其添加到DOM即可。
let script=document.createElement('script');
script.src='gibberish.js';
document.head.appendChild(script);
当然,在把 HTMLElement 元素添加到 DOM 且执行到这段代码之前不会发送请求。默认情况下,以这种方式创建的<script>元素是以异步方式加载的,相当于添加了 async 属性。不过这样做可能会有问题,因为所有浏览器都支持 createElement()方法,但不是所有浏览器都支持 async 属性。因此,如果要统一动态脚本的加载行为,可以明确将其设置为同步加载:
let script=document.createElement('script');
script.src='gibberish.js';
script.async=false;
document.head.appendChild(script);
以这种方式获取的资源对浏览器预加载器是不可见的。这会严重影响它们在资源获取队列中的优先级。根据应用程序的工作方式以及怎么使用,这种方式可能会严重影响性能。要想让预加载器知道这些动态请求文件的存在,可以在文档头部显式声明它们:
<link rel="preload" href="gibberish.js">
可扩展超文本标记语言(XHTML,Extensible HyperText Markup Language)是将 HTML 作为 XML的应用重新包装的结果。与 HTML 不同,在 XHTML 中使用 JavaScript 必须指定 type 属性且值为text/javascript,HTML 中则可以没有这个属性。XHTML 虽然已经退出历史舞台,但实践中偶尔可能也会遇到遗留代码,为此本节稍作介绍。在 XHTML 中编写代码的规则比 HTML 中严格,这会影响使用<script>元素嵌入 JavaScript 代码。下面的代码块虽然在 HTML 中有效,但在 XHML 中是无效的。
<script type="text/javascript">
function compare(a, b) {
if (a < b) {
console.log("A is less than B");
} else if (a > b) {
console.log("A is greater than B");
} else {
console.log("A is equal to B");
}
}
</script>
在 HTML 中,解析<script>元素会应用特殊规则。XHTML 中则没有这些规则。这意味着 a < b语句中的小于号(<)会被解释成一个标签的开始,并且由于作为标签开始的小于号后面不能有空格,这会导致语法错误。避免 XHTML 中这种语法错误的方法有两种。第一种是把所有小于号(<)都替换成对应的 HTML实体形式(<)。结果代码就是这样的:
<script type="text/javascript">
function compare(a, b) {
if (a < b) {
console.log("A is less than B");
} else if (a > b) {
console.log("A is greater than B");
} else {
console.log("A is equal to B");
}
}
</script>
这样代码就可以在 XHTML 页面中运行了。不过,缺点是会影响阅读。好在还有另一种方法。第二种方法是把所有代码都包含到一个 CDATA 块中。在 XHTML(及 XML)中,CDATA 块表示文档中可以包含任意文本的区块,其内容不作为标签来解析,因此可以在其中包含任意字符,包括小于号,并且不会引发语法错误。使用 CDATA 的格式如下:
<script type="text/javascript"><![CDATA[
function compare(a, b) {
if (a < b) {
console.log("A is less than B");
} else if (a > b) {
console.log("A is greater than B");
} else {
console.log("A is equal to B");
}
}
]]></script>
在兼容 XHTML 的浏览器中,这样能解决问题。但在不支持 CDATA 块的非 XHTML 兼容浏览器中则不行。为此,CDATA 标记必须使用 JavaScript 注释来抵消:
<script type="text/javascript">
//<![CDATA[
function compare(a, b) {
if (a < b) {
console.log("A is less than B");
} else if (a > b) {
console.log("A is greater than B");
} else {
console.log("A is equal to B");
}
}
//]]>
</script>
这种格式适用于所有现代浏览器。虽然有点黑科技的味道,但它可以通过 XHTML 验证,而且对XHTML 之前的浏览器也能优雅地降级。
自 1995 年 Netscape 2 发布以来,所有浏览器都将 JavaScript 作为默认的编程语言。type 属性使用一个 MIME 类型字符串来标识<script>的内容,但 MIME 类型并没有跨浏览器标准化。即使浏览器默认使用 JavaScript,在某些情况下某个无效或无法识别的 MIME 类型也可能导致浏览器跳过(不执行)相关代码。因此,除非你使用 XHTML 或<script>标签要求或包含非 JavaScript 代码,最佳做法是不指定 type 属性。在最初采用 script 元素时,它标志着开始走向与传统 HTML 解析不同的流程。对这个元素需要应用特殊的解析规则,而这在不支持 JavaScript 的浏览器(特别是 Mosaic)中会导致问题。不支持的浏览器会把<script>元素的内容输出到页面上,从而破坏页面的外观。Netscape 联合 Mosaic 拿出了一个解决方案,对不支持 JavaScript 的浏览器隐藏嵌入的 JavaScript 代码。最终方案是把脚本代码包含在一个 HTML 注释中,像这样:
<script><!--
function sayHi(){
console.log("Hi!");
}
//--></script>
使用这种格式,Mosaic 等浏览器就可以忽略<script>标签中的内容,而支持 JavaScript 的浏览器则必须识别这种模式,将其中的内容作为 JavaScript 来解析。虽然这种格式仍然可以被所有浏览器识别和解析,但已经不再必要,而且不应该再使用了。在XHTML 模式下,这种格式也会导致脚本被忽略,因为代码处于有效的 XML 注释当中。
虽然可以直接在 HTML 文件中嵌入 JavaScript 代码,但通常认为最佳实践是尽可能将 JavaScript 代码放在外部文件中。不过这个最佳实践并不是明确的强制性规则。推荐使用外部文件的理由如下。
? 可维护性。JavaScript 代码如果分散到很多 HTML 页面,会导致维护困难。而用一个目录保存所有 JavaScript 文件,则更容易维护,这样开发者就可以独立于使用它们的 HTML 页面来编辑代码。
? 缓存。浏览器会根据特定的设置缓存所有外部链接的 JavaScript 文件,这意味着如果两个页面都用到同一个文件,则该文件只需下载一次。这最终意味着页面加载更快。
? 适应未来。通过把 JavaScript 放到外部文件中,就不必考虑用 XHTML 或前面提到的注释黑科技。包含外部 JavaScript 文件的语法在 HTML 和 XHTML 中是一样的。在配置浏览器请求外部文件时,要重点考虑的一点是它们会占用多少带宽。在 SPDY/HTTP2 中,预请求的消耗已显著降低,以轻量、独立 JavaScript 组件形式向客户端送达脚本更具优势。比如,第一个页面包含如下脚本:
<script src="mainA.js"></script>
<script src="component1.js"></script>
<script src="component2.js"></script>
<script src="component3.js"></script>
...
后续页面可能包含如下脚本:
<script src="mainB.js"></script>
<script src="component3.js"></script>
<script src="component4.js"></script>
<script src="component5.js"></script>
...
在初次请求时,如果浏览器支持 SPDY/HTTP2,就可以从同一个地方取得一批文件,并将它们逐个放到浏览器缓存中。从浏览器角度看,通过 SPDY/HTTP2 获取所有这些独立的资源与获取一个大JavaScript 文件的延迟差不多。在第二个页面请求时,由于你已经把应用程序切割成了轻量可缓存的文件,第二个页面也依赖的某些组件此时已经存在于浏览器缓存中了。当然,这里假设浏览器支持 SPDY/HTTP2,只有比较新的浏览器才满足。如果你还想支持那些比较老的浏览器,可能还是用一个大文件更合适。
IE5.5 发明了文档模式的概念,即可以使用 doctype 切换文档模式。最初的文档模式有两种:混杂模式(quirks mode)和标准模式(standards mode)。前者让 IE 像 IE5 一样(支持一些非标准的特性),后者让 IE 具有兼容标准的行为。虽然这两种模式的主要区别只体现在通过 CSS 渲染的内容方面,但对JavaScript 也有一些关联影响,或称为副作用。本书会经常提到这些副作用。
IE 初次支持文档模式切换以后,其他浏览器也跟着实现了。随着浏览器的普遍实现,又出现了第三种文档模式:准标准模式(almost standards mode)。这种模式下的浏览器支持很多标准的特性,但是没有标准规定得那么严格。主要区别在于如何对待图片元素周围的空白(在表格中使用图片时最明显)。
混杂模式在所有浏览器中都以省略文档开头的 doctype 声明作为开关。这种约定并不合理,因为混杂模式在不同浏览器中的差异非常大,不使用黑科技基本上就没有浏览器一致性可言。标准模式通过下列几种文档类型声明开启:
<!-- HTML 4.01 Strict -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<!-- XHTML 1.0 Strict -->
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- HTML5 -->
<!DOCTYPE html>
准标准模式通过过渡性文档类型(Transitional)和框架集文档类型(Frameset)来触发:
<!-- HTML 4.01 Transitional -->
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!-- HTML 4.01 Frameset -->
<!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
<!-- XHTML 1.0 Transitional -->
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- XHTML 1.0 Frameset -->
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Frameset//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
准标准模式与标准模式非常接近,很少需要区分。人们在说到“标准模式”时,可能指其中任何一个。而对文档模式的检测(本书后面会讨论)也不会区分它们。本书后面所说的标准模式,指的就是除混杂模式以外的模式。
针对早期浏览器不支持 JavaScript 的问题,需要一个页面优雅降级的处理方案。最终,<noscript>元素出现,被用于给不支持 JavaScript 的浏览器提供替代内容。虽然如今的浏览器已经 100%支持JavaScript,但对于禁用 JavaScript 的浏览器来说,这个元素仍然有它的用处。<noscript>元素可以包含任何可以出现在<body>中的 HTML 元素,<script>除外。在下列两种情况下,浏览器将显示包含在<noscript>中的内容:
? 浏览器不支持脚本;
? 浏览器对脚本的支持被关闭。任何一个条件被满足,包含在<noscript>中的内容就会被渲染。否则,浏览器不会渲染<noscript>中的内容。
下面是一个例子:
<!DOCTYPE html>
<html>
<head>
<title>Example HTML Page</title>
<script defer="defer" src="example1.js"></script>
<script defer="defer" src="example2.js"></script>
</head>
<body>
<noscript>
<p>This page requires a JavaScript-enabled browser.</p>
</noscript>
</body>
</html>
这个例子是在脚本不可用时让浏览器显示一段话。如果浏览器支持脚本,则用户永远不会看到它。
JavaScript 是通过<script>元素插入到 HTML 页面中的。这个元素可用于把 JavaScript 代码嵌入到HTML 页面中,跟其他标记混合在一起,也可用于引入保存在外部文件中的 JavaScript。本章的重点可以总结如下。
? 要包含外部 JavaScript 文件,必须将 src 属性设置为要包含文件的 URL。文件可以跟网页在同一台服务器上,也可以位于完全不同的域。
? 所有<script>元素会依照它们在网页中出现的次序被解释。在不使用 defer 和 async 属性的情况下,包含在<script>元素中的代码必须严格按次序解释。
? 对不推迟执行的脚本,浏览器必须解释完位于<script>元素中的代码,然后才能继续渲染页面的剩余部分。为此,通常应该把<script>元素放到页面末尾,介于主内容之后及</body>标签之前。
? 可以使用 defer 属性把脚本推迟到文档渲染完毕后再执行。推迟的脚本原则上按照它们被列出的次序执行。
? 可以使用 async 属性表示脚本不需要等待其他脚本,同时也不阻塞文档渲染,即异步加载。异步脚本不能保证按照它们在页面中出现的次序执行。
? 通过使用<noscript>元素,可以指定在浏览器不支持脚本时显示的内容。如果浏览器支持并启用脚本,则<noscript>元素中的任何内容都不会被渲染。
篇文章主要给大家介绍一下如何灵活的运用css3来创建各种规则和不规则形状的图形,从而可以减少图片的使用。以前一些特殊的图形我们只能在Photoshop等图像编辑软件中制作,现在使用CSS3就可以完成了。通过使用新的CSS属性,像transform和border-radius,我们可以创建非常漂亮和复杂的图形效果。
正方形和长方形比较简单我们只需要设置一个div的宽度和高度既可;
圆形在设置CSS时要设置宽度和高度相等,然后设置border-radius属性为宽度或高度的一半即可;
要创建一个CSS三角形,需要使用border,通过设置不同边的透明效果,我们可以制作出三角形的现状。另外,在制作三角形时,宽度和高度要设置为0。
以上制作了3个三角形,如果只想要一个,将border-color其它的颜色也设置为transparent即可。
心形的制作是非常复杂的,可以使用两个元素来拼合制作,分别将元素旋转不同的角度,并修改transform-origin属性来元素的旋转中心点。
以上代码看起来很复杂,其实主要由2个元素拼合而成,我们拆分来看box4-1和box4-2就很明了了。
太极八卦看起来很复杂,其实跟心形的代码差不多,也是由3个元素拼接起来的,然后加上animation代码,让其自动旋转起来,看起来很酷炫。
好了,本篇文章就给大家说到这里,大家自己动手写一下看能不能写出一样的页面效果出来,也可以找一些类似的页面自己练习一下,有需要源码的可以直接私信【网站源码】即可。
每日金句:用最少的悔恨面对过往。用最少的挥霍面对现在。用最多的梦想面对未来。喜欢我的文章的小伙伴记得关注一下哦,每天将为你更新最新知识。
(本?文?作?于?2013年?并?发?表?在?其?它?平台,因?时?间太久?个?别?配?图?已?不?能加?载?)对于经常开发应用软件的人来说,都希望创建一个帮助系统,帮助使用者了解自己软件的功能与应用方法。如何创建自己软件的帮助系统呢?本文就这方面的问题谈谈自己的应用方法,也希望通过自己的实际应用经验能对朋友们有所帮助。
Windows 98及以上版本的帮助文件与Windows 95的有比较大的改变,它使用一种基于HTML文件特征的帮助文件,用Internet Explorer显示帮助内容,支持HTML、ActiveX、Java、脚本(Java脚本和VB脚本)以及HTML图像格式(.JPEG、GIF、PNG),它的图标也变了,后缀名为chm,Windows 98称之为Compiled HTML Help File。为了叙述方便,下面就称之为chm文件。典型的Windows 98规范的帮助文件(.chm文件)的窗口和Windows 98资源管理器差不多,左侧是目录、索引和搜索这三个功能项,通过选项卡切换;右侧是HTML文件的显示部分,改变了原来帮助文件目录窗口和主题窗口分离的情况。由于HTML文件具有多媒体表现力,因此chm文件的内容不再局限于文字和静态图像,在其中可以插入GIF动画,也可以利用浏览器的插件在文档中播放声音文件、动画影片、或其它格式的多媒体内容。加入URL地址可与因特网联系在一起,这样chm文件就不局限于包装好的内容了,它是微软公司的下一代联机帮助系统。同时,chm文件的核心是充分利用HTML文件的表现能力,对分散的HTML文件作整体的包装,这也是目前在Web网页以外利用HTML文件的一个趋势。如果你用这个方式制作学习教程、电子图书和杂志,或为用户提供产品目录和宣传材料,比已经流行的PDF文件更简洁和方便。
chm文件从结构上来看可分为两个部分:运行器和文档内容。运行器是操作系统的一部分,而文档内容随其所附的应用程序而变化。这与以前的Winhelp的结构没有多少差别。不过运行器部分有了较大的改进,运行器很小巧并且不直接运行HTML文件,而是操作一个ActiveX 的组件,控制支持ActiveX 组件的网页浏览器,如微软的Explorer 3.0以上版本的浏览器。它的一个好处是能跨平台运行,只要有不同平台上的运行器和浏览器,chm文件不再需要重新编制。 制作chm文件的工具是微软公司的Htmlhelp Workshop工具包,目前,最新的HTML Help Workshop版本是4.74。这是中文版的,安装Htmlhelp Workshop很方便,只要按照提示进行即可。它的使用也很方便,没有编程和写语言的要求,只要你会制作HTML文件就行了。
制作chm文件很方便,也很简单。大量的工作是以编写HTML文件为主,它的每个主题就是一个HTML文件,这些主题应该事先编辑好,并用Internet Explorer检查确认无误。主题文件可以用任何一个HTML编辑器编辑,也可用Htmlhelp Workshop编辑。如果不熟悉HTML文件的编辑,还可用Word,因为Word 97以上版本可以把Word文档(.doc文件)另存为HTML文件,还可以将Word文档批量转换成HTML文件。这样就可以完全按照编辑Word文档的习惯编辑成Word文档,再转换成HTML文件。
运行Htmlhelp Workshop时,它的工作窗口很简单,菜单栏上有五个命令,分别是“文件”、“视图”、“测试”、“工具”、“帮助”。下面的工具栏有五个按钮,分别是“新建”、“打开”、“编译HTML文件”、“校验编译文件”、“联机帮助”。下面介绍具体步骤:
一、创建帮助文本
创建帮助文本是创建帮助系统的第一步。所谓帮助文本,就是针对自己开发的应用软件的功能、使用方法的介绍和说明。这里,以我开发的《通信工程(概)预算系统》为例,谈谈其帮助系统的创建过程。用WORD2000创建《通信工程(概)预算系统帮助》文本。
通信工程(概)预算系统主界面
通信工程(概)预算系统帮助文本
二、创建分页网页文件
根据帮助系统框架结构,将每一段需要分页显示的帮助文本用WORD2000转换成网页文件。下图是通信工程(概)预算系统帮助需要的分页网页文件。
分页网页文件
三、创建项目文件
启动Htmlhelp Workshop系统,打开主界面。
新建一个方案
单击Htmlhelp Workshop菜单或工具栏中的“新建”命令,这时出现“选择新建内容”的对话框。这里有五个选项:“方案”、“文本”、“HTML文件”、“目录”、“索引”。选择“方案”,接着出现“方案”向导,告诉你这个向导可以转换的文件格式,一般情况下我们是要创建方案(.hhp)文件,不需要转换。直接进入“下一步”指定放置的目录和输入文件名就可以了,单击“下一步”,进入了“现有文件”对话框,如果你想将已经存在的文件包含进“方案”里,在下面列表中选择。这里一般空着,这些文件(包括已经编辑好的主题文件)以后可以添加。进入“下一步”后再“确定”就进入了Htmlhelp Workshop工作窗口。在窗口的上方是3个选项卡,分别是“方案”、“目录”、“索引”。在“方案”窗口的左侧是7个按钮,它们的功能名称自上而下分别是:“改变项目选项”、“添加/删除主题文件”、“添加/修改窗口定义”、“HHTML帮助API信息”、“校验HTML源文件”、“保存项目、目录和索引文件”、“保存全部文件并编译”。
单击“改变项目选项”按钮,出现“选项”对话框,光标在“常规”选项卡的“标题”文本框内闪烁,在这里加入标题,编译后这个标题将出现在chm文件窗口的标题栏中。其它的内容暂时用系统的默认值。然后单击“添加/删除主题文件”按钮,再选择“添加”按钮,把作为封面页的HTML文件添上。封面页的文件一定要有,否则编译的帮助文件运行后,系统会报错。好了,简单的“方案”编辑就完成了。
四、创建目录文件
单击“目录”选项卡,这时系统弹出一个对话框,提示你“方案”还没有关联目录文件(.hhc),你可以创建一个新的目录文件,或者指定一个现有的。这里选择“创建一个新目录文件”,进入下一步请你选定一个新目录文件的名称和存放路径,指定后出现目录编辑窗口。在目录窗口的左侧有11个按钮,前5个分别是:“目录工具”、“插入标题”、“插入页面”、“编辑选择”、“删除选择”,中间4个箭头用来调整指定标题或页面的位置,最后两个已在项目编辑窗口中出现过。根据需要插入标题或页面目录,按下“插入标题”或“插入页面”按钮,都会弹出“目录条目”对话框,在“条目标题”文本框中输入条目的标题,并根据情况选定对应的主题(HTML文件),单击“条目标题”下的“添加”按钮,在弹出的对话框的下面“文件或URL地址”文本框中输入文件名或URL地址并确定;单击“高级”选项卡,在“图像索引”栏中为条目指定图标,比如包含其它条目的条目可以用书形图标,而页面条目的可以用问号图标。如果在单击“插入页面”按钮之前所选择的条目不包含别的条目,也不被别的条目所包含,那么会询问“是否要创建一个起始条目”,选择了“是”会增加起始条目(一级条目),选择了“否”会增加一个子条目。标题可以不添加主题文件或URL地址,也可放置需要的主题文件,作为标题的说明内容。标题可以分为多级,要按照制作的内容统一考虑。如果觉得不满意,可以用左侧的箭头进行调整,也可以选定该条目,单击鼠标右键,不但可以调整,还可以插入标题、主题或目录文件。编辑目录文件是制作chm文件最关键的工作,目录文件应该包含一个chm文件所有目录(主题),而每个目录又包含条目标题(名称)和该条目的主题文件,要避免条目标题与对应的主题不一致的情况出现。等所有目录都添加好后目录就算完成了。
创建目录
已生成的帮助文件
完成目录编制后,一个chm文件已具备了雏形,索引的内容暂时空着。保存项目文件和目录文件后就可以编译,编译就是把所有用到的HTML文件统统压缩后包装在一起,形成一个后缀名是.chm的文件。在主工具栏按钮中可以找到编译按钮和试运行按钮,也可直接按项目窗口左下方的“保存全部文件并编译”按钮进行编译。编译后再运行就可以看到作品的面貌了。目录的内容在编译后显示在chm文件窗口的左侧,可以展开标题后显示以下的目录,单击目录可以打开相应的主题文件,显示相应的内容。如果发现问题,还可以进行修改调整。
五、创建索引文件
在Htmlhelp Workshop的工作窗口上单击“索引”选项卡,和创建目录文件一样,也会弹出一个对话框,操作也是一样的。进入索引编辑窗口,左侧也有11个按钮,有8个是已经熟悉的,还有3个分别是:“索引工具”、“插入关键字”、“排序关键字”。所谓关键字是用户可能用到的并与一个或多个帮助主题文件关联在一起的字、词或短语,索引文件(.hhk)也是一个HTML文件,它包含若干个关键字,当用户打开chm文件后,单击索引标签并输入一个关键字后,chm文件将显示与这个关键字有关的主题的列表,非常方便地找到相关主题。单击“插入关键字”按钮,出现一个“索引项”对话框,在“常规”选项卡的“关键字”文本框中输入关键字,单击“添加”按钮指定与该关键字相关联的主题文件。如果想跳转到另一个关键字,在“索引项”对话框中按“高级”选项卡,选中下面的“目的地是另一个关键字”,单击“常规”选项卡,单击“添加”按钮,在“文件或URL地址”框中输入要跳转的关键字,单击“确定”。
创建索引
六、创建搜索
chm文件的“搜索”选项卡允许用户在所有主题文件中搜索字、词或短语,将它们的标题显示出来,而且在主题中用醒目的方式来显示。打开一个方案文件,单击“方案”选项卡的“改变方案选项”,在“选项”对话框的“编译”选项卡中选中“编译全文搜索信息”即可。 上述介绍的是编制HTML帮助文件的基本步骤,上手很容易。但它的功能远非这些,如在窗口定义中可以设计你所喜爱的形式,几乎所有的窗口要素都可以改变。向HTML文件中插入快捷方式、相关主题、关键字链接、联想链接、HTML Help ActiveX控件、Java脚本、弹出式窗口等等,详细的内容请参考Htmlhelp Workshop的帮助文件,或微软的相应网页。相信你试过以后一定会喜欢它。
*请认真填写需求信息,我们会在24小时内与您取得联系。