¿Por qué SVG no funciona en archivos HTML locales?

Estoy confundido.

Si señalo por navegador (Chrome o Safari en OSX) a este sitio web, muestra todo el SVG a la perfección:

http://emacsformacosx.com/

Ahora, si veo la fuente en esa página, la copio y la pego en un nuevo documento HTML en mi escritorio, y luego la veo con cualquiera de los dos navegadores, no obtengo ningún SVG.

¿Por qué la diferencia?

¿Por qué SVG trabaja en el sitio web, pero no en el archivo HTML local?

¡Gracias!

Lo renombró a HTML, y el navegador asume el contenido html … mientras que la página es text/xml .

si cambias el nombre a .xml y lo abres, lo verás bien …

La información del encabezado de respuesta HTTP hace que el navegador interprete la información como 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 

Verá, el servidor que atendió la página fue lo suficientemente inteligente como para detectar que se trataba de un documento XML y se lo dijo al navegador. Cuando carga el archivo desde el disco, es posible que su navegador no sea lo suficientemente inteligente como para hacerlo y tienda a confiar en la extensión del archivo para proporcionar esta información.

Puede intentar insertar lo siguiente en el elemento :

  

¿Ves lo que hice allí? Es solo un reflection del encabezado de respuesta HTTP que habría especificado el tipo de documento y la encoding.

El objective de esta etiqueta es hacer que los navegadores piensen: “Oye, el servidor me dice que este documento es HTML, pero el documento me dice que es XML. El documento probablemente sabe mejor que el servidor, por lo que confío en él”. .. :: interpreta como XML :: ”