Autor Zpráva
johnysmrz
Profil
zdravim, potreboval bych radu od nekoho znaleho technologie SVG

mam v xHTML vlozeny svg obrazek pomoci <object data="map.svg" type="image/svg+xml" width="728" height="420" /> a v nem jsou nagenerovane linky nad nekterymi segmenty ale kdyz na tento link kliknu tak se mi otevre prislusna stranka pouze v tom rozsahu ve kterem je nactene to SVG.... je to logicke z toho pohledu ze <object> se chova jako iframe.... ovsem prakticky je to naprd z toho pohledu ze bych pri prejizdeni pres tento obrazek potreboval zaprve javascriptem menit prvni mimo obrazek a zadruhe pri prokliku bych potreboval refreshnout nadrazenou stranku....

bohuzel zatim neni moznost jednoduse vkladat svg do xhtml kodu.... to by cely problem resilo :-/

nemate nekdo zkusenost jak tohle resit? jak pripadne vlozit jinak svg obrazek do xhtml aby o fungovalo ve vsech prohlizecich?
Yur4Y
Profil
johnysmrz:
bohuzel zatim neni moznost jednoduse vkladat svg do xhtml kodu
Pokiaľ používate skutočné XHTML, je to jednoduché, môžete použiť dva rôzne menné priestory tak, že jeden z nich odlíšite prefixom. http://www.w3.org/TR/REC-xml-names/
Inak vyskúšajte pracovať s
document.getElementsByTagName('object')[0].contentDocument
johnysmrz
Profil
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg">

tohle je moje hlavicka

prave jsem jeste objevil nejakou stranku kde pouzivaji inline SVG..... zkusim to nejak vyzkoumat a jeste bych mel jeden dotaz.... bude tohle fungovat i v IE? Mam o tom docela bohuzel pochyby :-/ (nechce se mi kvuli tomu poustet virtual s widlema)

Moderátor Chamurappi: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
Moderátor Chamurappi: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Chamurappi
Profil
Reaguji na johnyhosmrze:
tohle je moje hlavicka
<!doctype> nerozhoduje, ani XML deklarace. Pokud užíváš XHTML, bude ti fungovat zkrácený zápis <object /> a stránka vůbec nepojede v Internet Exploreru. Pokud užíváš HTML (což je pravděpodobné), musíš zapisovat <object></object>.

bude tohle fungovat i v IE?
S patřičným pluginem a uvnitř HTML uvnitř <object>u možná ano.
johnysmrz
Profil
Tak nakonec jsem nasel reseni, diky za napad s temi jmenymi prostory, je to relativne jednoduche akorat je potreba odeslat jednu hlavicku navic.... viz nasledujici kod:

<?php
// bez teto hlavicky to nefunguje
header('Content-Type: application/xhtml+xml');
?>
<?php echo '<?xml version="1.0" encoding="UTF-8"?>' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <head>
    <title>SVG embedded inline in XHTML</title>
  </head>
  <body>
	<p>Nejakey html element</p>
	<!-- object kvuli interpretaci v IE -->
    <object id="AdobeSVG" classid="clsid:78156a80-c6a1-4bbf-8e6a-3cd390eeb4e2"> </object>
    <?php echo '<?import namespace="svg" urn="http://www.w3.org/2000/svg" implementation="#AdobeSVG"?>' ?>
    <svg:svg version="1.1" baseProfile="full" width="300px" height="200px" xmlns:xlink="http://www.w3.org/1999/xlink">
      <svg:a xlink:href="/test.php">
      	<svg:circle cx="150px" cy="100px" r="50px" fill="#ff0000" stroke="#000000" stroke-width="5px"/>
      </svg:a>
    </svg:svg>
  </body>
</html>
Chamurappi
Profil
Reaguji na johnyhosmrze:
// bez teto hlavicky to nefunguje
Bez té hlavičky to není XHTML.

object kvuli interpretaci v IE
Explorer stejně nepodporuje XHTML. Použij <object> v HTML.

Vaše odpověď

Mohlo by se hodit

  • Pokud přikládáte obrázkové ukázky, dbejte prosím na jejich přijatelnou (datovou) velikost.
  • Uvádějte v titulku grafický program, na který se ptáte.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: