2012-03-14 4 views
3

У меня есть несколько файлов .svg в моем веб-проекте. добавляю большинство из них на страницу HTML, используя «Встроить» тег, например:Отдельный файл svg

<embed src="css/svg/multi.svg" type="image/svg+xml"/> 

Есть две проблемы, я пытаюсь решить:

  1. При вводе веб-сайт это загружает каждый файл .svg отдельно. Я хотел бы, чтобы все они были загружены вместе (в одну поездку туда и обратно).

  2. Некоторые из svgs повторно используются, поэтому один и тот же svg загружается несколько раз.

Что я думал о том, чтобы делать все svgs в одном файле и ссылаться на них с идентификатором или что-то в этом роде. Что-то вроде «defs» и «use», но работает только в firefox, поэтому мне нужно другое решение.

Любое другое решение, которое решает эти проблемы хорошо, как хорошо (он не должен быть в одном файле) ...

Спасибо.

+0

Можете ли вы показать свой код «только работает в firefox» (как SVG, так и HTML)? Это похоже на то, что должно отлично работать в ** правильно совместимых ** браузерах. Вы пробовали иметь один гигантский SVG и элементы * not * в блоке defs и ссылаться на те, что указаны id? – Marcin

+0

Если файлы загружаются несколько раз, это, вероятно, проблема с заголовками истечения срока действия, а не с SVG. – robertc

ответ

2

Если больше браузеров поддерживает #svgView url syntax (часть SVG 1.1), вы могли бы использовать это, возможно, см. Это example (работает в Opera, Chrome, Safari, IE9).

+0

также работает в сафари. – rajkamal

Смежные вопросы