2010-02-21 4 views
6

혼란스러워.SVG가 로컬 HTML 파일에서 작동하지 않는 이유는 무엇입니까?

나는이 웹 사이트에 브라우저 (OSX에 크롬 또는 Safari)를 가리키는 경우를 보여줍니다 완벽하게 모든 SVG : 그 페이지의 소스를 볼 경우

http://emacsformacosx.com/

지금, 복사, 바탕 화면에 새 HTML 문서에 붙여 넣은 다음 두 브라우저 중 하나를 사용하면 SVG가 전혀 표시되지 않습니다.

왜 다른가요?

SVG가 웹 사이트에서는 작동하지만 로컬 HTML 파일에서는 작동하지 않는 이유는 무엇입니까?

감사합니다. 페이지가 당신이 .xml로 이름을 변경하고 그것을 열면

, 당신은 잘 볼 것 .. text/xml 동안 ..

답변

8

당신은 HTML로 이름을 변경하고, 브라우저가 HTML 콘텐츠를 가정합니다 ..

+0

확인되었습니다. Mac OS X 10.6.2 – pestilence669

+0

에서이 방법을 사용하여 재현 및 고정 흥미 롭습니다. 모든 HTML5 문서의 확장명은 .xml입니까, 아니면 문서에 SVG가있는 기능입니까? – Axeva

+0

나는 조금만 놀 렸고, FF와 크롬도'.xhtml' 확장자로 올바른 것으로 보인다. 파일 내부의 내용 정의를 받아 들일 수 없다는 것은 틀린 것처럼 보인다. (예를 들어 메타 태그 ..),하지만 그럴 것 같습니다. –

4

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 문서는 것을 감지 할만큼 똑똑하고, 브라우저를 말했다. 디스크에서 파일을로드 할 때 브라우저가이를 수행 할만큼 영리하지 못하고이 정보를 제공하기 위해 파일 확장자를 사용하는 경향이 있습니다.

당신하여 <head> 요소에 다음을 삽입 시도 할 수 :

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

당신은 내가 거기에 무슨 짓을했는지 볼 수? 그것은 문서 유형과 인코딩을 지정한 HTTP 응답 헤더의 미러 일뿐입니다.

이 태그의 목적은 브라우저에서 "이봐, 서버가이 문서가 HTML이지만 XML로되어 있다고 알려주고 있습니다. 문서가 서버보다 잘 알고있을 것입니다. 그것을 믿으십시오 ... :: :: XML로 해석합니다 :: "

+2

그럴 수 있지만 불행히도 그것은 .. 그것은 여전히 ​​올바르게 렌더링되지 않습니다 .. –

+0

불행히도, 개비가 맞습니다. 작동하지 않습니다. Amphetamachine의 우아한 솔루션을 제안했지만 브라우저에서이를 무시하고 있습니다. 실망. – Axeva

+0

브라우저 = 바보 – amphetamachine

관련 문제