2012-02-16 2 views
8

Một vài lần tôi đã mở tệp SVG trên các trang web khác nhau thông qua trình duyệt và chúng được hiển thị dưới dạng hình ảnh.
Bây giờ, tôi sao chép cùng một SVG này, tôi tải nó lên máy chủ từ xa và cả Google Chrome lẫn Firefox đều hiển thị mã XML.
Trình duyệt xác định xem có hiển thị hình ảnh hoặc mã XML không?Mở SVG trong trình duyệt hiển thị mã XML thay vì hình ảnh

+0

Thông thường, máy chủ hoạt động để thêm tiêu đề phụ đề để trình duyệt biết loại tệp. Bạn đang sử dụng máy chủ nào? – madth3

+0

Nếu tôi chính xác và đây là vấn đề về cấu hình máy chủ, thì ở đây là ngoại tuyến và phải dễ trả lời khi tìm đến tài liệu máy chủ tương ứng. – madth3

+0

Apache (Bây giờ nhận xét đủ dài để đăng) – sabof

Trả lời

2

Bạn phải định cấu hình máy chủ của mình để gửi cho bạn các tệp svg với tiêu đề Content-Type: image/svg+xml. Here là một ví dụ về cách thực hiện việc này với Apache.

+0

Cấu hình loại nội dung này có cần cho các loại nội dung khác hay chỉ SVG? Đây không phải là nghiêm trọng – sabof

+0

Apache có nhiều loại mime đã được cấu hình nhưng, tất nhiên, không phải tất cả. – madth3

+0

@sabof tùy thuộc vào phần mềm máy chủ. Apache thường gửi hình ảnh SVG (và hầu hết các loại nội dung khác) với tiêu đề phải. Là phần mở rộng tập tin của bạn 'svg'? Hoặc có thể máy chủ của bạn bị định cấu hình sai. – copy

10

Đối với câu hỏi cuối cùng của bạn: Trình duyệt xác định có hiển thị hình ảnh hoặc mã XML không?

Câu trả lời nằm trong không gian tên XML. Không gian tên XML được chỉ định trong thẻ XML cho người dùng biết cách xử lý các thẻ. Vì vậy, nếu bạn có <svg> mà không có thuộc tính xmlns="http://www.w3.org/2000/svg" thì trình duyệt sẽ hiển thị văn bản chứ không phải đồ họa vectơ kết xuất SVG.

+0

Đây là phần khác của câu đố! – EoghanM