Anzeige:
Ergebnis 1 bis 6 von 6

Thema: links in object für nicht heraus

  1. #1
    Registrierter Benutzer Avatar von Molaf
    Registriert seit
    15.11.2004
    Beiträge
    127

    links in object für nicht heraus

    Hallo,

    ich habe mal eine Frage zu <object> als html-tag.
    Grundsätzlich will ich svg-Sachen in eine html-Seite einbinden. Links im svg führen aber nur dazu, dass das Linkziel wieder in das Object geladen wird, nicht dazu, dass die Seite die einbettet komplett ersetzt wird.

    Zuerst habe ich das auf fehlerhafte svgs geschoben, doch ein kurzes Beispiel mit html zeigt mir, dass der Bug offenbar ein Feature ist.

    Wie kann ich bei diesen beiden Dateien den Link so hinbekommen, dass der Link im eingebetteten Element die äußere Seite ersetzt?

    Meine einzigste Idee ist derzeit die Benutzung von Frames (benannte Framesets als Linkziel mit target übergeben), doch die möchte ich eigentlich nicht nehmen.

    HTML-Code:
    <!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" lang="de-DE" xml:lang="de-DE">
    <head>
    <title>test aussen</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body>
    <div style="background-color:grey;">Aussen
    
    <object data="innen.html" type="text/html" width="200" height="200">
    <param name="src" value="innen.html"/>
    Ihr Browser kann das Objekt leider nicht anzeigen!
    </object>
    
    
    </div>
    </body>
    </html>
    HTML-Code:
    <!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" lang="de-DE" xml:lang="de-DE">
    <head>
    <title>test innen</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body style="background-color:white;">
    <div>Innen
    
    <p>Blah</p>
    <a href="http://google.de">link</a>
    </div>
    </body>
    </html>
    Gruß,
    Molaf

  2. #2
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Ich hoffe das ich dich richtig verstanden habe.
    Zuerst einmal, die Kommunikative Sprache ist html die von jeden Browser vom Standard Header erwartet wird.
    Wenn du z.B. ein reines SVG anzeigen möchtest mußt du den Header entsprechend ändern.

    Html Object Tags verweisen auf fremde Header oder Objekte innerhalb einer HTML Datei die von einem fremden Interpreter PLUGIN umgesetzt werden.
    Code:
    <object data="quelle.svg" type="image/svg+xml"
    	width="100%" height="100%">
    	<param name="src" value="quelle.svg"/>
    	Ihr Browser kann das Objekt leider nicht anzeigen!
    </object>
    Du kannst aber bei SVG verschiedene Quellen in einer verbinden.

    Wenn du aus einer HTML ausprechen möchtest und ein Anderes Format ausgeben möchtest würde ich das mit PHP machen.
    PHP-Code:
    header"Content-Type: image/svg+xml;");
    $fp file_get_contents"./quelle.svg" );
    $fp stripslashes$fp );
    echo 
    $fp;
    clearstatcache(); 
    Geändert von undefined (13-11-2009 um 09:10 Uhr)
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  3. #3
    Registrierter Benutzer Avatar von Molaf
    Registriert seit
    15.11.2004
    Beiträge
    127
    Hallo,

    da hast Du mich wirklich falsch verstanden, ich habe keine Probleme mit SVG oder deren header, ich bette in meinem Beispiel nur ein HTML in ein HTML ein, als das <object> der äußeren HTML-Datei.

    Wenn ich nun einen Link im eingebetteten "Dings"(*) klicke, landet das Ziel immernoch in der <object>-Umgebung des äußeren HTML-Datei. Ich hätte aber gerne, dass das Ziel des Links die äußere HTML-Datei ersetzt (im Browser, bildlich gesprochen, ich will ja keine Datei auf dem Server überschreiben).

    (*):Egal ob SVG oder HTMl, das macht keine Unterschied in der Reaktion auf Linkklicks.

    Gruß,
    Molaf

  4. #4
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Ich glaube schon
    Du verwendest html in html was keinen Sinn bei Object macht.
    Html Object Tags verweisen auf fremde Header oder Objekte innerhalb einer HTML Datei die von einem fremden Interpreter PLUGIN umgesetzt werden.
    Verwende iframes (Dafür sind sie gemacht) und _target dann geht das was du vor hast.
    mfg undefined
    --
    Undefined Behavior (undefiniertes Verhalten) bedeutet meistens etwas ungültiges.
    xhtml Debugger

  5. #5
    Registrierter Benutzer Avatar von Molaf
    Registriert seit
    15.11.2004
    Beiträge
    127
    iframes sind depreciated, und bei xhtml 1.1 eigentlich auch nicht erlaubt.

    Ob html in html sinnvoll ist oder nicht, wenn es gegen keinen Standard explizit verstößt, sollte es auch gehen. Hier nochmal svg in html.

    HTML-Code:
    <!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" lang="de-DE" xml:lang="de-DE">
    <head>
    <title>test aussen</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body>
    <div style="background-color:grey;">Aussen
    
    <object data="innen.svg" type="image/svg+xml" width="1000" height="500">
    <param name="src" value="innen.svg">
    Ihr Browser kann das Objekt leider nicht anzeigen!
    </object>
    
    </div>
    </body>
    </html>
    HTML-Code:
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <text x="20" y="10" style="font-size:15">text</text>
    <text x="20" y="30" style="font-size:15">
    	<a xlink:href="http://google.de">link</a>
    	</text>
    </svg>
    Gleicher Effekt, allerdings linke ich da zwar auf html (dann haben wir wieder html in html), aber ich würde ja gerne das äußere html ersetzen mit dem Linkziel...

    Molaf

  6. #6
    Registrierter Benutzer Avatar von Molaf
    Registriert seit
    15.11.2004
    Beiträge
    127
    target="_parent" ist die Lösung.

    Ich hab einfach mal alles was zum Thema target aus SELFHTML heraus ausprobiert, so verzweifelt war ich schon.

    Am Ende wird ja doch noch manchmal alles gut, teilweise jedenfalls.
    Molaf

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •