下面是一封读者的来信:“我用flash制作一个以.swf为扩展名的动画,加入到FrontPage中,可以显示动画效果.用HTMLHelp将用FrontPage编辑的HTML文件编译成帮助文件,在应该显示动画的位置是一个空白框,其它都正常.经查发现.swf文件并未编译进帮助文件。如果将.swf文件做成绝对路径,则可以正常编译.因做的帮助文件需要多处使用,所以必须用相对路径,目前解决不了这个问题,能帮我解答吗?”
真是无独有偶,我们也遇到并刚好解决了类似的问题。今天就借这个机会,把这个问题的解决办法教给大家。
首先说一下,我们使用的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;http://www.qqread.com/web-special/e284316.html进入讨论组讨论。
相关专题
- 手把手教你做超酷的条形码效果 (160次浏览)
- 三组网站经常使用的流行色彩元素 (137次浏览)
- 字体设计基础(14)粗体 (101次浏览)
- 向Yahoo Mail的主页学习 (91次浏览)
- 每个网站都必须具备的几个重要文件 (71次浏览)
- 如何减少网页的内存与CPU占用 (68次浏览)
- 用好的设计替代不好的 (68次浏览)
- 基本的页面设计元素布局比例 (56次浏览)
- 网站的整体风格及其创意设计 (55次浏览)
- 避免网页脏、乱、差 网页设计的栅格设计思考 (50次浏览)



