Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么';SVG在本地HTML文件上工作吗?_Html_Svg_Xhtml - Fatal编程技术网

为什么';SVG在本地HTML文件上工作吗?

为什么';SVG在本地HTML文件上工作吗?,html,svg,xhtml,Html,Svg,Xhtml,我很困惑 如果我通过浏览器(Chrome或OSX上的Safari)指向此网站,它会完美地显示所有SVG: 现在,如果我在那个页面上查看源代码,复制它,然后将它粘贴到我桌面上的新HTML文档中,然后使用任何一种浏览器查看,我都不会得到SVG 为什么不同 为什么SVG可以在网站上工作,但不能在本地HTML文件中工作 谢谢 您将其重命名为HTML,浏览器采用HTML内容。。而页面是text/xml 如果将其重命名为.xml并打开它,您会看到它很好。HTTP响应头信息会使浏览器将信息解释为xml: H

我很困惑

如果我通过浏览器(Chrome或OSX上的Safari)指向此网站,它会完美地显示所有SVG:

现在,如果我在那个页面上查看源代码,复制它,然后将它粘贴到我桌面上的新HTML文档中,然后使用任何一种浏览器查看,我都不会得到SVG

为什么不同

为什么SVG可以在网站上工作,但不能在本地HTML文件中工作


谢谢

您将其重命名为HTML,浏览器采用HTML内容。。而页面是
text/xml


如果将其重命名为
.xml
并打开它,您会看到它很好。

HTTP响应头信息会使浏览器将信息解释为xml:

HTTP/1.1 200 OK
Date: Sun, 21 Feb 2010 02:32:02 GMT
Server: Apache/2.2.14 (Debian)
Vary: Accept-Encoding
Transfer-Encoding: chunked
Content-Type: text/xml; charset=UTF-8
你看,提供页面的服务器非常聪明,能够检测到这是一个XML文档,并告诉浏览器。当您从磁盘加载文件时,您的浏览器可能不够智能,无法执行此操作,并且倾向于依赖文件的扩展名来提供此信息

您可以尝试将以下内容插入
元素:

<meta http-equiv="Content-Type" content="text/xml; charset=UTF-8" />

你看到我在那里做了什么吗?它只是HTTP响应头的镜像,可以指定文档类型和编码


此标记的目的是让浏览器认为,“嘿,服务器告诉我此文档是HTML,但文档告诉我它是XML。文档可能比服务器更清楚,所以我相信它…::解释为XML:”

已确认。在Mac OS X 10.6.2 Interest上使用此方法复制和修复。所有HTML5文档都应该有一个.xml扩展名,还是这只是文档中有SVG的一个功能?我只是玩了一下,FF和Chrome似乎都使用了
.xhtml
扩展名来正确呈现。。。他们不接受来自文件内部的内容定义(例如meta标记..),这似乎是完全错误的,但似乎是这样..@Axeva,我不知道。。还没有使用html5。。所以我没有这方面的经验。。你可以做一些测试,让我们知道:)应该是这样的,但不幸的是事实并非如此。。它仍然不能正确地呈现…不幸的是,加比是对的。它不起作用。你已经想出了一个优雅的安非他命机器解决方案,但浏览器却忽略了它。令人沮丧的。