2010-10-07 12 views
9

Próbuję dynamicznie wyświetlać niektóre treści SVG. Ta treść jest przechowywana jako ciąg w moim źródle danych. Przykładem ciąg będzie wyglądać następująco:Ładowanie SVG do SVGWeb dynamicznie z JQuery

<svg width="200" height="200" style="background-color:#D2B48C; margin-bottom:5px;" id="embeddedSVG"> 
<g id="myGroup" fill="blue" style="font-size:18px; text-anchor:middle; font-family: serif;"> 
<circle id="myCircle" cx="100" cy="75" r="50" stroke="firebrick" stroke-width="3" /> 
<text x="100" y="155">Hello World</text><text x="100" y="175">From Embedded SVG!</text> 
</g></svg> 

aby pomieścić dla IE używam SvgWeb. Mój problem polega na tym, że aby wyświetlić zawartość svg, muszę ją opakować w kombinację tagów <script type="image/svg+xml"></script>. Moje wyzwanie polega na tym, że svg jest ściągany asynchronicznie przez JQuery. I, o ile mi wiadomo, nie mogę dynamicznie napisać tagu "script" z JavaScript.

Jak mogę pobrać zawartość SVG z JQuery i dynamicznie ją wyświetlić?

+0

Zastanawiałem samo. .. mam nadzieję, że ktoś to wymyślił. – awesomo

+0

Nawiasem mówiąc, problemem nie jest dynamiczne generowanie tagu '

0

Możesz użyć jQuery SVG plugin Oficjalna strona jest wyłączona, ale zaglądaj do niej pod numer instructions.

Właściwa część prosisz jest odpowiedź w tej sekcji, wierzę ..

obciążenia (url, ustawienia) to wrapper obciążenia zewnętrzny dokument SVG. Zauważ, że przeglądarka może nie zezwalać na wczytywanie dokumentów z witryn innych niż ta oryginalnej strony. Jeśli nie zostanie dostarczony żaden oddzwaniany , w opakowaniu SVG wyświetlany jest komunikat o błędzie .

url (ciąg) jest położeniem dokumentu SVG lub rzeczywistego dokumentu SVG w linii.

ustawienia (logiczna) zobaczyć addto poniżej lub (funkcja) zobaczyć onLoad poniżej lub (object) dodatkowe ustawienia dla obciążenia z atrybutami poniżej:

addto (logiczna, opcja) wierny dodać do tego, co już istnieje, czy fałszywe (ustawienie domyślne), aby wyczyścić płótno pierwszy changeSize (boolean, opcjonalny) prawdziwego celu umożliwienia rozmiar płótna do zmiany, lub false (domyślnie) do zachować oryginalny rozmiar onLoad (funkcja, opcjonalne) oddzwanianie po dokument został załadowany, ta funkcja odbiera obiekt opakowaniowy SVG i opcjonalny komunikat o błędzie jako parametry, iw którym to jest dział kontenerowy SVG .

svg.load('images/rect01.svg', 
    {addTo: true, onLoad: loadDone}); 
svg.load('<svg ...>...</svg>', loadDone); 

także dla zabawy, tu jest jakiś kod PHP Kiedyś wstawić taką SVG w pętli oświadczenie, że worked nicely ..

if (ICON_FILE_EXT == "svg") { 
     print "\<script\>svg.load(\'".ICON_PATH."/directory.svg\', \{addTo\: true, onLoad\: loadDone\}\)\;\<\/script\>"; 
+0

To plugin SVG wydaje się być niezgodne z SVGWeb, lub przynajmniej kiedy renderuje się w pamięci flash (co jest celem svgweb) – commonpike

Powiązane problemy