论文部分内容阅读
到新浪爱问共享资料中心搜索一本电子图书,你会发现,很多图书是以一种CHM格式的文档类型提供的。但是,当你打开下载的这种图书时,有时候发现只能看到目录,下边的正文内容要么是显示错误信息,要么是显示空白。你再次下载一次,情况还是如此,于是你怀疑人家提供的文件有问题。但当你把这个文件拷贝到另一个系统或另一种设备上阅读时,你又发现阅读正常。于是你又认为自己先前的认识是错误的。
那么,问题到底出在哪里呢?
笔者经过多次试验和上网求证,得出几种普遍的原因和解决方案,列于下供大家参考。
一、文件名不当惹的祸
当CHM文件的路径(文件夹名和文件名)中含有“#”“%”等特殊字符时,CHM文件能够打开,甚至可以看到导航栏,但就是无法显示其正文内容。
例如,我们有一本文件名为“《哥达纲领批判》马克思 · CHM”的CHM电子书(图1),双击电子书可以正常显示文件内容(图2)。
但是,当我们在文件名中加一个“#”号(图3),再双击这个文件打开试试,导航栏还在,但内容看不见了,显示为一篇空白(图4)。
解决办法:非常简单,查看你的电子书文件名中有无“#”“%”等特殊字符,移除路径中的特殊字符即可。
小提示
有时候如果CHM文件名或文件所在路径中有中文,也可能会打不开,改成英文字符试一下。
二、系统协议限定了你
安装微软的安全更新896358或890175 后,该补丁对CHM的itss协议做了限制。有的CHM使用了该协议,所以导致CHM无法显示。例如,我们下载的CHM就常会出现这种情况。
例如,我下载了一本名为“《人民战争胜利万岁》.CHM”的电子书,双击后目录显示正常,但内容显示“已取消到该网页的导航”错误信息,不能显示内容(图5)。可用如下方法解决:
右键单击该CHM文件,然后单击“属性”,单击“解除锁定”(图6),双击此CHM文件就可以打开此文件了(图7)。
小提示
在某些CHM文件中可能会使用到InfoTech协议,而它包含3种协议:ms-its 、its、mk:@msitstore 。利用这些协议,恶意攻击者或者恶意代码将可能导致帮助产生溢出漏洞,从而控制计算机。而MS最新公布的安全更新MS05-026 KB896358修正了这一情况,并屏蔽了远程链接,这就导致了使用了远程链接的一些CHM页面开启失败。
三、去除警告正常阅读
双击CHM 文件,随后如果显示“打开文件 - 安全警告”对话框,单击清除“打开此文件前总是询问”复选框。单击“打开”按钮。(图8)
小知识
设计CHM的初衷是用来做帮助文档,其本质是一堆html网页文件的组合,微软给的名字是Compiled HTML Help file,即“已编译的HTML帮助文档”。Microsoft自Windows 98以来,操作系统中都自带解释器(打开CHM文件的工具),即Windows安装目录下的HH.EXE。CHM 文件可以通过官方免费提供了HTML Help Workshop 生成,它的源文件是 HTML 文件。CHM有专门的编译器、反编译器。人们发现因为CHM这东西保留了html的特性,把它拿来制作电子书实在是很好很强大,连CSS脚本、特效等都能保留下来。所以现在有很多资料采用这种格式。网络上很多电子书籍都被制作成CHM格式。CHM内部采用了微软私有的压缩算法,效率很高,所以如果对CHM文件进行压缩的话基本上压缩率会很接近100%,也就是说压缩没有什么效果。
注:“本文中所涉及到的图表、公式、注解等请以PDF格式阅读”
那么,问题到底出在哪里呢?
笔者经过多次试验和上网求证,得出几种普遍的原因和解决方案,列于下供大家参考。
一、文件名不当惹的祸
当CHM文件的路径(文件夹名和文件名)中含有“#”“%”等特殊字符时,CHM文件能够打开,甚至可以看到导航栏,但就是无法显示其正文内容。
例如,我们有一本文件名为“《哥达纲领批判》马克思 · CHM”的CHM电子书(图1),双击电子书可以正常显示文件内容(图2)。
但是,当我们在文件名中加一个“#”号(图3),再双击这个文件打开试试,导航栏还在,但内容看不见了,显示为一篇空白(图4)。
解决办法:非常简单,查看你的电子书文件名中有无“#”“%”等特殊字符,移除路径中的特殊字符即可。
小提示
有时候如果CHM文件名或文件所在路径中有中文,也可能会打不开,改成英文字符试一下。
二、系统协议限定了你
安装微软的安全更新896358或890175 后,该补丁对CHM的itss协议做了限制。有的CHM使用了该协议,所以导致CHM无法显示。例如,我们下载的CHM就常会出现这种情况。
例如,我下载了一本名为“《人民战争胜利万岁》.CHM”的电子书,双击后目录显示正常,但内容显示“已取消到该网页的导航”错误信息,不能显示内容(图5)。可用如下方法解决:
右键单击该CHM文件,然后单击“属性”,单击“解除锁定”(图6),双击此CHM文件就可以打开此文件了(图7)。
小提示
在某些CHM文件中可能会使用到InfoTech协议,而它包含3种协议:ms-its 、its、mk:@msitstore 。利用这些协议,恶意攻击者或者恶意代码将可能导致帮助产生溢出漏洞,从而控制计算机。而MS最新公布的安全更新MS05-026 KB896358修正了这一情况,并屏蔽了远程链接,这就导致了使用了远程链接的一些CHM页面开启失败。
三、去除警告正常阅读
双击CHM 文件,随后如果显示“打开文件 - 安全警告”对话框,单击清除“打开此文件前总是询问”复选框。单击“打开”按钮。(图8)
小知识
设计CHM的初衷是用来做帮助文档,其本质是一堆html网页文件的组合,微软给的名字是Compiled HTML Help file,即“已编译的HTML帮助文档”。Microsoft自Windows 98以来,操作系统中都自带解释器(打开CHM文件的工具),即Windows安装目录下的HH.EXE。CHM 文件可以通过官方免费提供了HTML Help Workshop 生成,它的源文件是 HTML 文件。CHM有专门的编译器、反编译器。人们发现因为CHM这东西保留了html的特性,把它拿来制作电子书实在是很好很强大,连CSS脚本、特效等都能保留下来。所以现在有很多资料采用这种格式。网络上很多电子书籍都被制作成CHM格式。CHM内部采用了微软私有的压缩算法,效率很高,所以如果对CHM文件进行压缩的话基本上压缩率会很接近100%,也就是说压缩没有什么效果。
注:“本文中所涉及到的图表、公式、注解等请以PDF格式阅读”