CHM浏览器无法显示内容。

74

我有一个chm文件,在家里可以打开。我在家和工作的电脑上都使用Windows XP系统。但是,当我在工作的电脑上打开文件时,它不显示文件内容。它能够正确地显示文件目录(TOC)。请问有什么解决办法吗?


7
这是一个来自于更受欢迎的Stackoverflow问题的重复提问:https://dev59.com/E2gu5IYBdhLWcg3wRlP0#11438732。 - Eric Leschinski
14个回答

207

尝试右击您的chm文件并选择属性。您将看到一个“解除锁定”按钮。单击它,它应该解决您的问题。

注:"Unblock"指的是取消文件的安全锁定,以允许从互联网上下载和打开该文件。


1
根据https://blogs.msdn.microsoft.com/jpsanders/2009/06/10/some-chm-files-do-not-work-on-windows-7-process-monitor-navigation-to-the-webpage-was-canceled/的说法,“您可能需要使用管理员帐户才能看到取消阻止项目”。在我的情况下,我不得不使用@Aman解决方案和powershell。 - JoanComasFdz
9
7年后的未来感谢你。 - crystyxn
未来13年来的感谢 - matthew-e-brown

53

除了Nicolas提到的方法,如果您使用UNC路径打开CHM文件时无法看到内容,那么请将文件复制到本地磁盘。


1
很好。这是问题所在。谢谢。 - Kiran
1
工作得很好。我曾经遇到同样的问题,我尝试在网络驱动器上打开。谢谢! - Garry
2
这通常不是主要问题。请参考@Nicolas的“解除阻止”答案。 - Stuart Watt
好的,但是为什么会发生这种情况呢? - HackSlash
因为UNC被认为是一个不同的、不太安全的互联网区域。 - Otávio Décio

19

只需进入PowerShell并以管理员身份运行,

然后使用以下命令:

Unblock-File '.\filename.chm'

cd到你的文件夹中。


这对我有用。谢谢! - Jay Carlson
我在属性窗口上没有“解除阻止”选项,但这仍然解决了问题。 - Bill Tarbell

5
在Windows 7上,将文件复制到本地并取消勾选文件打开警告消息即可解决问题。

3

我遇到了相同的情况,在一个 Windows 10(VMware)系统上。如另一位发布者所建议的,我不得不将文件移动到本地驱动器,然后取消文件打开警告消息。打开文件时会出现“打开文件-安全警告”消息,在底部有一个复选框“在打开此文件之前始终要求确认”。只有在取消该框后,目录内容才会显示正确。希望对其他人有帮助!


2
似乎有很多人遇到了这个问题,但却无法找到解决方案。显然有不同级别的身份验证。我读过的大多数文章都告诉你将MaxAllowedZone设置为“1”,这意味着允许本地机器区域和内部网络区域,但“4”允许访问“所有”区域。
更多信息,请阅读这篇文章: https://support.microsoft.com/en-us/kb/892675 这是我的注册表的样子(我不确定通配符是否有效,但对我来说似乎有效)。
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"MaxAllowedZone"=dword:00000004

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions]
"UrlAllowList"="\\\\<network_path_root>;\\\\<network_path_root>\*;\\ies-inc.local;http://www.*;http://*;https://www.*;https://*;"

额外说明:奇怪的是,在另一台电脑上,需要使用“UrlAllowList”键才能使其正常工作,但在我的测试机上不需要。这可能根本不需要,但当我添加它时,问题得到了解决。用户可能没有关闭原始文件或类似的操作。所以只是一个考虑因素。我建议先尝试最少量并进行测试,然后再根据需要添加。确认后,可以进行部署。如果“解除锁定”方法不起作用,或者您没有看到该选项,则应该使用此方法。祝好运!
另外,还有另一种方法可行,即通过使用mklink /d(在Windows 7或更新版本中进行符号链接)将路径映射到本地网络,但映射网络驱动器字母(例如Z:进行测试)不起作用。这只是一个思路,我不必“解除锁定”任何文件。此外,被接受的“解决方案”对我来说也没有解决问题。

我来得有点晚,但谢谢你,我很感激! - jacktrader

2

2

1

出于安全原因,Windows会阻止来自其他计算机的*.chm文件。在文件上单击右键并设置取消阻止复选框查看


0
如果有人需要,可以去http://topdf.com/这个网页将chm转换成pdf。我用一个大约18MB、615页的chm测试了一下,成功得到了带有超链接目录的pdf文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接