Bên trong trang web của tôi, tôi đang nhúng một vài svgs. Tất cả dường như chỉ hoạt động tốt trong Chrome, Firefox, IE (9+) và trong Safari. Howvere ngay khi có hình ảnh được bao gồm trong svg, safari không hiển thị hình ảnh.Svg với hình ảnh bên trong không hiển thị trong safari
Dựa trên những chủ đề tương tự trước đó tôi đã thử như sau:
SVG <image> elements not displaying in Safari - kèm theo
<use>
thẻ như thế này <use></use>
SVG Image dosen't appear in Safari - Tôi không tìm thấy điều này rất hữu ích, gây ra điều này là xóa aprt của svg.
Not able to render SVG image in Safari - Thêm
<meta http-equiv="Content-Type" content="application/xhtml+xml">
trong tiêu đề.
Và hơn thế nữa, tôi không thực sự biết những gì khác để thử. Có lẽ một điều thú vị hơn cần lưu ý là bên trong trang của tôi, hình ảnh không được hiển thị, nhưng tôi có thể mở tập tin svg trong safari (chỉ tập tin) và nó sẽ được renderd một cách chính xác. Hơn nữa, sau khi nó được mở trong trình duyệt dưới dạng tệp, nó cũng hiển thị bên trong trang. Và tôi đã nhúng svg vào trang bằng thẻ img.
<img src="mysvg.svg" class="center-block"/>
Đây là svg của tôi:
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 15.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="328px" height="328px" viewBox="0 0 328 328" enable-background="new 0 0 328 328" xml:space="preserve">
<g>
<defs>
<polygon id="SVGID_1_" points="1.414,164.001 164,326.586 326.586,164.001 164,1.414 "/>
</defs>
<clipPath id="SVGID_2_">
<use xlink:href="#SVGID_1_" overflow="visible"></use>
</clipPath>
<g id="DSC_x5F_0112-2.psd" clip-path="url(#SVGID_2_)">
<g id="DSC_x5F_0112-2.psd_1_" enable-background="new ">
<image overflow="visible" width="338" height="532" id="DSC_x5F_0112-2" xlink:href="data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABkAAD/4QNhaHR0cDov
.....SLKPF+7j+acOZPZjmsw4Q0f0L/6k1fu3WFvY/wDEB5o0d7H7/wD7SPFgPzVE54J9/wBI/qez5vei
r/fdeaS//9k=" transform="matrix(0.9818 0 0 0.9818 -2.7197 -11.064)">
</image>
</g>
</g>
</g>
<g>
<path fill="#FFFFFF" d="M164,328.001L0,164.002L164,0.001l164,164.001L164,328.001z M1.414,164.002L164,326.587l162.586-162.585
L164,1.415L1.414,164.002z"/>
</g>
</svg>
Tôi đã giảm chuỗi hình ảnh base64, để rút ngắn mã. Svg đầy đủ có thể được tìm thấy here.
CẬP NHẬT: Chỉ cần rõ ràng, svg hiển thị trong trình duyệt (safari) nhưng hình ảnh bị thiếu (tôi có thể thấy chỉ đường viền).
Safari so với Chrome: Đóng Safari đóng '' sau '>'!? –
Cảm ơn nhận xét của bạn, nhưng điều đó vẫn không giải quyết được vấn đề của tôi. Và cũng khi tôi kiểm tra phần tử trong Safari, khi mở chỉ svg, tôi không thể xác nhận rằng bình luận của bạn là đúng. Có vẻ ổn với tôi. – SuperMan
Hầu hết có lẽ b.Bởi vì sự khác biệt đó bạn có đầu ra sai. Mã nguồn mở trong tab Tài nguyên thanh tra web hiển thị phần tử ' 'vị trí của nó. Mở các phần tử DOM '' đang ở sai vị trí. Ít nhất với phiên bản Safari của tôi. –