怎样在CHM文件中实现超链接

怎样在CHM文件中实现超链接,第1张

首先说一下,我们使用的chm编译工具是HTML Help Workshop,以下方法也在该软件中试用成功。

在使用和编译chm文件的时候,我们往往需要链接一些外部的文件。比如说你向链接一段视频剪辑,如果把视频剪辑也编译在chm文件之内的话,将会是一个非常巨大的chm文件。在使用过程中会有很大的困难。另外的一种状况可能是这样的:你需要链接一个readme文件,但是当你在制作chm时这个readme文件还没有做好,那么也只能先做好一个对外部文件的链接。

在设计和制作普通的web(html)文档的时候,链接一个文件是很简单的,只需要指定一个目标文件的位置就可以了。至于说包含这个链接的页面的位置是不相关的。

然而,在编译一个chm文件的时候,情况就会发生变化了。主要的问题在于:只能使用一个确定的路径来链接外部的文件。当然,如果确定将要编译的chm文件的使用环境是完全一样的,这个问题就不存在。但是,如果一个用户把chm文件安装在了一个你不希望的地方会怎么样?所有的链接都会实效。还有一个类似的情况是:chm文件在一个无法事先知道盘符的光盘上被引用。

可以使用java script来摆脱这个问题,在下面的代码中,使用定位控件找出chm文件在具体计算机上所处的位置,解析出一个指定文件的确定的路径。值得注意的是需要将被引用的文件和chm放在相同的目录中。

下面,一步步来解释这个脚本是如何工作的。括号内的内容是注释。

<SCRIPT language=javascript>

function parser(fn){

var x,y,s1,a,ra link

(这里,这个函数开始时需要定义一些变量,变量“fn”将在脚步中起到一个传值的作用。)

ra=/:/

a=location.href.search(ra)

(脚本的这个搜索是寻找在位置对象中的第一个冒号。)

if (a == 2)

X = 14

else

X = 7进入讨论组讨论。

CHM是编译后的网页文件,网页文件内联都是:

<A href="*.htm" >mylink</A>

的形式。你的说明有点错误:1.htm中的锚点的href属性对应的是a.htm而不是其本身。

其次,href应该使用完整路径,如果同在的一个文件夹中,那么就是文件名,如不是则须指定完整路径。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7941751.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存