IE不能找到W3C XHTML DTD(错误2146697204)(IE cannot find t

2019-10-17 22:35发布

我有开始的每一页这样的一个模板:

<?xml version="1.0" encoding="utf-8"?>
<!-- blah blah-->
<!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">
...
</html>

产生该错误:

XML页面无法显示使用样式表无法查看XML输入。 请更正错误,然后单击刷新按钮,或稍后重试。


服务器不理解请求,或请求无效。 错误处理资源' http://www.w3.org/TR/xhtm ...

在IE浏览器,因为W3C已经停止服务的DTD 。

什么是解决这个问题的正确方法?

Answer 1:

可能的解决方案

我上传两个文件给你看它在行动:

  1. 作为HTML文件: 尝试一下 ,头是text/html
  2. 由于XML文件尝试一下 ,头是text/html

首先会在所有的浏览器。 第二个将在IE中失败(和他人合作),因为它忽略了服务器的头。 原因是: *.xml文件名部分的结局。 这是IE浏览器的错误的行为,但我们必须对付它。 如果你的文件名XML的结束,或者您的服务器发送它通过按application / xml然后更改这些设置。

背景

你指的是资源标识符不是一个资源标识符。 这是一个唯一的标识符,一个占位符,可以这么说。 它从来就不是在被服务的HTML的情况下下载(不管它是XHTML在这种情况下)。 这是行为不端的IE浏览器。

你指的是后表明,他们可能采取的资源脱机。 该DTD仍然在线 。 与其他标准,他们用不同的方法,这里的资源是不是在相同的位置标识在线(同样的问题,人与命名空间:它不是一种资源,它是一个标识符)。

这不是XML恐怖,而只是IE行为古怪。 与IE浏览器和XHTML工作,你必须为它服务作为text/xml的MIME类型。 如果您在本地运行它,你可以得到这个错误。 尝试以不同的方式为它服务。

注意:你问之前:XML规范指出DTD不应该被下载,而应该被看作是一个唯一的ID。 仅用于验证XML下载资源还是不错的,但标准说,资源ID和实际资源不需要相同。



Answer 2:

我发现一个帖子说,类似的事情是由于权限问题。

你可能会想尝试在IE的情况如下:

嗨卡尔,只是猜测,可能是什么问题..你的IE浏览器的安全设置导致此错误。 如果您检查Internet选项 - >安全,你会看到一个选项“跨域访问数据源”。 它通常被禁用。 请启用它,看看它是否工作..

问候,穆库尔

来源: http://www.stylusstudio.com/xsllist/200412/post41070.html

我不知道这个选项可以提高其安全性的担忧。



Answer 3:

IE浏览器根本不支持XHTML。

它应该在其DTD目录中DTD。 不支持浏览器实际下载DTD(出于实际原因,该规范愚蠢允许)。



Answer 4:

用户需要安装以下软件更新来解决这个问题:

http://support.microsoft.com/kb/973687/



文章来源: IE cannot find the W3C XHTML DTD (Error 2146697204)