Portál AbcLinuxu, 8. května 2025 20:37

Dotaz: SVG uvnitr <A HREF="..."> v HTML

9.9.2010 10:55 vencas | skóre: 32
SVG uvnitr <A HREF="..."> v HTML
Přečteno: 561×
Odpovědět | Admin

Zdravim,

potreboval bych vlozit do HTML stranky zmensene SVG, na ktere lze kliknout, podobne jako se udela <a href="..."><img width=".." src="..."/></a>.

Protoze svg nelze vlozit pomoci img, zkusil jsem 3 postupy uvedene na SVG in HTML (object, embed, iframe), ale zadny z nich se nechova tak, jak potrebuju (iframe nezmensuje, na object a embed se neda kliknout).

Lze to nejak jednoduse udelat? (Pokud mozno s minimem javascriptu, potrebuju jen z modelovaciho programu vygenerovat jednoduchou stranku s ukazkou grafu, na ktere se da kliknout.)

Omlouvam se za chybejici diakritiku.

Diky, Vasek


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Řešení 1× (Václav HFechs Švirga)
9.9.2010 12:57 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: SVG uvnitr <A HREF="..."> v HTML
Odpovědět | | Sbalit | Link | Blokovat | Admin
Proč nejde SVG vložit pomocí <img>? U těch object a embed byste asi musel udělat ten odkaz přímo v SVG.
9.9.2010 14:28 Sten
Rozbalit Rozbalit vše Re: SVG uvnitr <A HREF="..."> v HTML
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jaký prohlížeč? img a object jsou rovnocenné elementy, oba mohou být uvnitř odkazu a oba mohou obsahovat to samé (i SVG). V XHTML 1.1 se IMHO dokonce doporučuje používat object i pro obrázky (bohužel IE do verze 6 si s tím neporadí). embed je nestandardní rozšíření, doporučuji jej nepoužívat
10.9.2010 13:39 vencas | skóre: 32
Rozbalit Rozbalit vše Re: SVG uvnitr <A HREF="..."> v HTML

Firefox 3.6.8, <img> ten obrazek proste neukaze. V epiphany (webkit) to dela totez, tak jsem predpokladal, ze z nejakeho duvodu img se svg nefunguje. Mimetype toho souboru je image/xml+svg.

10.9.2010 13:52 Sten
Rozbalit Rozbalit vše Re: SVG uvnitr <A HREF="..."> v HTML
Správný MIME typ pro SVG je image/svg+xml. Posíláte ten MIME typ i v HTTP hlavičkách (ty jsou rozhodující pro tag img) nebo je vyplněn pouze v atributu type tagu object?
13.9.2010 10:27 vencas | skóre: 32
Rozbalit Rozbalit vše Re: SVG uvnitr <A HREF="..."> v HTML
Omlouvam se, posilam skutecne image/xml+svg. Posilam to v HTTP hlavicce, v type tagu objetu uz ne. Zkusim udelat ukazkovou stranku a dam ji na web. Zatim diky za rady.
12.9.2010 22:12 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: SVG uvnitr <A HREF="..."> v HTML
Odpovědět | | Sbalit | Link | Blokovat | Admin

SVG můžete vložit přes img. Specifikaci to nevadí. Jen ne všechny prohlížeče to umí. Například do Gecka byla tato schopnost přidána před pár dny. Ale mám dojem, že třeba Opera i Webkit to umí.

iframe není to pravé, embed je zastaralé rozšíření Exploreru. Použijte object a parametry width a height. Strčit jej do odkazu lze také. Ale opět ne všechny prohlížeče to pochopí. Gecko z toho sice odkaz udělá, ale kliknout se na to nedá (třebaže ve stavovém řádku se odkaz ukáže). Člověk musí kliknout na rámec odkazu (výchozí barva v Gecku je modrá/fialová). Opera to myslím umi.

Prozatím asi nejspolehlivější je vložit odkaz do SVG přes XLink. Ale je takové ošklivé.

Navíc si uvědomte, že „náhled“ zmenšeným SVG v podstatě znamená, že klient si stejně stáhne celý obrázek a teprve u sebe ho zmenší. Možná by bylo lepší se na to vybodnout a dát obrázek v původní velikosti nebo jen odkaz na něj.

13.9.2010 10:54 vencas | skóre: 32
Rozbalit Rozbalit vše Re: SVG uvnitr <A HREF="..."> v HTML
Ze se to stahne cele, to je jasne. Potrebuju ale na prehledove strance ukazat grafy zmensene (ktere zmensi prohlizec, zdrojovy soubor je stejny), pro vsechny aktualni simulace; kdyz se na to klikne, ukaze se ten samy obrazek, akorat samostatne a nezmensene.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.