Añadir xmlns="http://www.w3.org/2000/svg" version="1.1"
a su etiqueta de SVG.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/html1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us">
<head>
<title>SVG iPhone Test</title>
</head>
<body >
<svg width="500" height="220" xmlns="http://www.w3.org/2000/svg" version="1.1">
<rect x="2" y="2" width="496" height="216" stroke="#000" stroke-width="2px" fill="transparent"></rect>
</svg>
</body>
</html>
El tipo MIME HTTP entregado por http://www.invalidpage.com/svg/svgtest.html
es "Content-Type: text/html"
. HTML en línea svg funciona con el tipo MIME "Content-Type: text/xml"
Puede crear esto finalizando el documento con XML en lugar de HTML, ya que tienen done here.
No estoy seguro si Ipad se preocupa por el Content-Type
pero otros navegadores sí.
Actualizado
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
también se puede utilizar; Es lo que se muestra en los ejemplos de Ipad svg. Cuando el documento se entrega como un XML no HTML, debe comenzar con <xml version="1.0" standalone="no">
;
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="500" height="220" xmlns="http://www.w3.org/2000/svg" version="1.1">
<rect x="2" y="2" width="496" height="216" stroke="#000" stroke-width="2px" fill="transparent"></rect>
</svg>
En realidad, la forma en que funciona es en todo excepto en el iPad/iPhone por lo que yo puedo decir. Conecté RaphaelJS y ahora también funciona en iOS. También probé los atributos xmlns y versión, el mismo resultado, funciona en todas partes excepto en iOS. –
Se renderiza en Chrome que usa el motor webkit (por lo que Ipad debe representar, todavía no tengo uno): pero actualmente no funciona en Firefox 3.6.13 ... Es probable porque el tipo de contenido es "Content-Type: text/html "... bajo estrictas reglas xml xmlns necesita ser definido. no aplica reglas estrictas de xml, pero desafortunadamente Firefox 3.6.13 aún no representa inline svg. ... mediante el uso de http://code.google.com/chrome/chromeframe/ también funcionará en Internet Explorer – Wayne
Sé que teóricamente debería funcionar en cualquier navegador webkit si funciona en uno. Simplemente no lo hace. Cambié todas las cosas en otra página en mi dominio principal para probar todas las diferentes opciones que ha presentado, y ninguna funciona.Lo único que parece funcionar es generarlo después de la carga a través de JavaScript. Dejé la página original solo para que coincida con la pregunta original. –