当您访问某个 Web 站点或运行某个应用程序,使用 Microsoft XML Core Services (MSXML) (MSXML)加载 XHTML 文档时,MSXML 每次都将请求发送到万维网联合会 (W3C) 来获取已知的文档类型定义 (DTD) 文件。这种现象可能会使 W3C 服务器严重阻塞。有时,您可能会发现因为 DTD 请求被 W3C 服务器阻止而未能成功加载 XHTML 文件。
例如,您有一个 JavaScript 文件 (.js),其中包含下面的代码:
function pullXHtml() { var xml = new ActiveXObject("Msxml2.DOMDocument.4.0"); xml.async = false; xml.loadXML( "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">" + "<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'><head><title>simple document</title></head>" + "<body><p>a simple paragraph</p></body></html>"); if (xml.parseError.errorCode != 0) { var myErr = xml.parseError; WScript.Echo("ERROR:" + myErr.reason); } else { WScript.echo("The XHTML document was loaded successfully."); } } pullXHtml();
当您运行 JavaScript 文件时,文件将使用 MSXML 加载 XHTML 文档。当您运行 JavaScript 文件时,如果 DTD 请求被W3C 服务器阻挡,如果您没有安装此更新,可能会收到下面的错误消息:
错误: 服务器无法理解此请求,或请求无效。
错误处理资源
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd。
错误处理资源
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd。
安装此更新后,将成功运行 JavaScript 文件,且您将收到以下消息:
注意:
- 在应用此更新后,MSXML 缓存的 DTD 文件本地化以减少发送到 W3C 服务器的请求数。
- 安装此更新后,可能提示您重新启动计算机。
- 如果在 Windows Vista 中,Windows Server 2008 中,或在 Windows 7 中,您可以安装此更新,您必须以管理员身份运行该安装程序文件。
- 有关 XHTML 文档类型定义 (DTD) 的更多信息,请参见”更多信息”一节。
更新信息
如何确定 MSXML 版本
若要确定您的计算机安装的 MSXML 版本,请执行以下步骤:
- 在下面的目录中找到 Msxml4.dll 文件:
C:\Windows\System32 - 用鼠标右键单击 Msxml4.dll 文件,然后单击属性。
- 单击版本选项卡,以查看版本信息。
注意:在 Windows Vista 中,Windows 7 中或 Windows Server 2008 中,请单击详细信息选项卡。
如何获取此更新
通过 Windows Update 将会自动安装此更新。但是,您也可以通过手动下载适当的的安装包来安装此更新。有几个包含此修复程序的软件包。这些程序包在以下不同的安装情况下发布:
- 在下面的目录中找到 Msxml4.dll 文件:
- cn_msxml_4.0_service_pack_3_x86.msi
- 3FEDECE2720666F20C5AD15043ED4E4657D65082
- 2.26MB
- 2011-06-23
cn_msxml_4.0_service_pack_3_x86.msi
发布日期:2011-06-23 09:39:35
语言:中文(简体)
文件名:cn_msxml_4.0_service_pack_3_x86.msi
SHA1:3FEDECE2720666F20C5AD15043ED4E4657D65082
下载链接:
ed2k://|file|cn_msxml_4.0_service_pack_3_x86.msi|2373120|ABFEF286E3620313057B222B1699A732|/