Matthias: Probleme bei Einbindung des IsoView mit Prozentangaben

Hallo!

Ich möchte gerne in mein HTML den IsoView zur Darstellung von cgm-Grafiken einbinden. Bis IE7 hatte dies ohne Probleme funktioniert, bei IE8 geht es leider nicht mehr. Wenn ich Doctype verwende, wird der IsoView nicht geladen außer ich trage feste Werte ein anstelle der Prozentangaben. Kommentiere ich das Doctype aus, funkionieren auch die Prozentangaben. Hat hier jmd einen Tipp für mich? Da wir die cgm-Grafiken in einem Frame darstellen und dieser vergrößert/verkleinert werden kann, sind Prozentangaben schon um einiges komfortabler, weil sich die Grafik dann dem Frame anpasst, wenn dieser vergrößert/verkleinert wird.

Hier mein Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
<html>  
  <head>  
    <title></title>  
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">  
    <script src="grafike.js" language="JScript.Encode" type="text/JScript.Encode"></script>  
  </head>  
  <body onLoad="javascript:Init();">  
    <object id="ivx1" type="application/x-isoview" width="100%" height="96%">  
      <param name="src" value="sample.iso">  
    </object>  
    <script language="VBScript" for="ivx1" event="HsHit(nMouseBtn, lRefID, strName, strViewPortName, strViewPortFile)" type="text/vbscript">  
      <!--  
        call HsHit(nMouseBtn, lRefID, strName, strViewPortName, strViewPortFile)  
      //-->  
    </script>  
  </body>  
</html>
  1. Om nah hoo pez nyeetz, Matthias!

    Ich möchte gerne in mein HTML den IsoView zur Darstellung von cgm-Grafiken einbinden. Bis IE7 hatte dies ohne Probleme funktioniert, bei IE8 geht es leider nicht mehr. Wenn ich Doctype verwende, wird der IsoView nicht geladen außer ich trage feste Werte ein anstelle der Prozentangaben.

    Hast du schon probiert, die Angaben für height und width im HTML ganz wegzulassen und diese Angaben ins CSS zu stecken?

    Matthias

    --
    1/z ist kein Blatt Papier.

    1. Om nah hoo pez nyeetz, Matthias!

      Ich möchte gerne in mein HTML den IsoView zur Darstellung von cgm-Grafiken einbinden. Bis IE7 hatte dies ohne Probleme funktioniert, bei IE8 geht es leider nicht mehr. Wenn ich Doctype verwende, wird der IsoView nicht geladen außer ich trage feste Werte ein anstelle der Prozentangaben.

      Hast du schon probiert, die Angaben für height und width im HTML ganz wegzulassen und diese Angaben ins CSS zu stecken?

      Ganz weggelassen hatte ich sie, aber ohne Angaben im CSS zu machen ;-) da wurde dann nichts angezeigt.

      Ich hatte jetzt mal die Attribute width und height bei object weggelassen und unter nach <html><head><title></title> folgendes aufgenommen:
      <style type="text/css">
        object{width:100%;height:100%}
      </style>

      hat wieder nur funktioniert, wenn ich DOCTYPE auskommentiere.
      LG Matthias

      1. Om nah hoo pez nyeetz, Matthias!

        hat wieder nur funktioniert, wenn ich DOCTYPE auskommentiere.

        möglicherweise enthält der Code strukturelle Fehler. Befrage den Validator.

        Matthias

        --
        1/z ist kein Blatt Papier.

      2. Hallo,

        <style type="text/css">
          object{width:100%;height:100%}
        </style>

        hat wieder nur funktioniert, wenn ich DOCTYPE auskommentiere.

        äh ja, natürlich. Prozentangaben für width und height beziehen sich immer auf die Größe des Elternelements - mit Ausnahme des html-Elements, das bezieht sich auf die Größe des Browserfensters. Du musst also den Vorfahrenelementen body und html ebenfalls eine Höhe von 100% zuweisen.

        Ciao,
         Martin

        --
        Wenn der Computer wirklich alles kann,
        dann kann er mich mal kreuzweise.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Hallo,

          <style type="text/css">
            object{width:100%;height:100%}
          </style>

          hat wieder nur funktioniert, wenn ich DOCTYPE auskommentiere.

          äh ja, natürlich. Prozentangaben für width und height beziehen sich immer auf die Größe des Elternelements - mit Ausnahme des html-Elements, das bezieht sich auf die Größe des Browserfensters. Du musst also den Vorfahrenelementen body und html ebenfalls eine Höhe von 100% zuweisen.

          Super :) danke euch zwei - jetzt funktioniert es *freu* beim Validator sagt er apropos Passed.

          Jetzt habe ich allerdings noch ein Problemchen, denn seitdem ich die Größen im css für object, body, html angegeben habe, passt mein img nicht mehr auf meinen Button. Ich habe jetzt mal rumprobiert, am besten sieht es noch so aus:

          <span>  
            <button id="ttGrafik" type="button" value="close" onClick="JavaScript:Close();" style="background-color:#dddddd;">  
              <img id="ttclose" name="close" src="close.jpg" width="12" height="12" border="0" alt="">  
            </button>&#160;&#160;  
          </span>  
          
          

          Aber so richtig toll sieht es nicht aus. Ich hatte es auch probiert bei Button style="height:16px;width:16px" - aber dann verschiebt er das img irgendwie zu weit nach rechts. Habt ihr einen Tipp oder seht meinen Fehler?

          Da meine Seite nicht im Netz verfügbar ist, kann ich euch leider keinen Screenshot anhängen :( Mit dem Code (siehe oben) ist mein Button eigentlich größer wie das img - wie bekomme ich das hin, dass der Button genauso groß wie das img ist und das img genau auf dem Button liegt und nicht nach links oder rechts verschoben wird?
          Viele Grüße
          Matthias

          1. Hi,

            Jetzt habe ich allerdings noch ein Problemchen, denn seitdem ich die Größen im css für object, body, html angegeben habe, passt mein img nicht mehr auf meinen Button. Ich habe jetzt mal rumprobiert, am besten sieht es noch so aus:

            <span>

            <button id="ttGrafik" type="button" value="close" onClick="JavaScript:Close();" style="background-color:#dddddd;">
                <img id="ttclose" name="close" src="close.jpg" width="12" height="12" border="0" alt="">
              </button>&#160;&#160;
            </span>

              
            aus der Beschreibung werde ich nicht wirklich schlau. Stört möglicherweise der Zeilenumbruch vor und hinter dem img-Element im Quellcode, der ja in HTML als Leerzeichen interpretiert wird? Ebensowenig verstehe ich, was das umgebende span-Element für einen Zweck haben soll, oder die beiden geschützten Leerzeichen (&#160; oder &nbsp;).  
              
            
            > Aber so richtig toll sieht es nicht aus. Ich hatte es auch probiert bei Button style="height:16px;width:16px" - aber dann verschiebt er das img irgendwie zu weit nach rechts. Habt ihr einen Tipp oder seht meinen Fehler?  
            > Da meine Seite nicht im Netz verfügbar ist, kann ich euch leider keinen Screenshot anhängen :(  
              
            Doch, einen Screenshot könntest du auch von deinem lokal gespeicherten Zeug machen - der ist aber wenig aussagekräftig. Das beste ist immer noch ein Live-Beispiel online.  
              
            
            > Mit dem Code (siehe oben) ist mein Button eigentlich größer wie das img - wie bekomme ich das hin, dass der Button genauso groß wie das img ist und das img genau auf dem Button liegt und nicht nach links oder rechts verschoben wird?  
              
            Ah, hatte ich doch recht mit dem Platzbedarf durch die beiden Leerzeichen? ;-)  
              
            Ciao,  
             Martin  
            
            -- 
            Ordnung schaffen heißt, das Eigelb vom Dotter zu trennen.  
            Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
            
            1. Doch, einen Screenshot könntest du auch von deinem lokal gespeicherten Zeug machen - der ist aber wenig aussagekräftig. Das beste ist immer noch ein Live-Beispiel online.

              Mit dem Code (siehe oben) ist mein Button eigentlich größer wie das img - wie bekomme ich das hin, dass der Button genauso groß wie das img ist und das img genau auf dem Button liegt und nicht nach links oder rechts verschoben wird?

              Ah, hatte ich doch recht mit dem Platzbedarf durch die beiden Leerzeichen? ;-)

              Ja hattest du *Danke*

              Danke auch für den Tipp mit onclick - habe ich natürlich geändert

              Super ihr habt mir wirklich sehr weitergeholfen - jetzt funktioniert es so wie ich es möchte. Nochmal vielen lieben Dank und noch einen schönen Abend
              LG Matthias

              1. Hallo,

                Danke auch für den Tipp mit onclick - habe ich natürlich geändert

                ich nehm das "Danke" mal stellvertretend zur Kenntnis und ergänze: Es gibt in den verschiedenen Sprachen unterschiedliche Regeln bezüglich der Groß/Kleinschreibung.

                HTML ist sehr großzügig: Es gibt keine bindenden Vorschriften. Es wird nur _empfohlen_, Element- und Attributnamen konsequent in Kleinbuchstaben zu schreiben, einerseits wegen der besseren Lesbarkeit (verglichen mit durchgehender Großschreibung), andererseits um sich ein bisschen an XHTML zu orientieren.

                In XHTML ist die durchgehende Kleinschreibung plötzlich Pflicht, die für HTML nur empfohlen wird. Allerdings nehmen es die Browser in der realen Welt da draußen nicht so genau damit, weil sie genaugenommen gar nicht zwischen HTML und XHTML unterscheiden. Großbuchstaben in XHTML-Tags oder -Attributen zu verwenden ist daher sozusagen eine Ordnungswidrigkeit, sie wird aber nicht geahndet.

                CSS hat an sich keine strengen Regeln; analog zu HTML wird für CSS-Eigenschaften und -Werte aber Kleinschreibung empfohlen. Bei element- oder attributbasierten Selektoren ist CSS laut Spezifikation case-sensitive, aber da die Browser das nicht wirklich unterscheiden, ist das wieder blanke Theorie (wie bei XHTML).

                Javascript unterscheidet exakt zwischen Groß- und Kleinschreibung; so kann die Standardmethode document.getElementById() nicht plötzlich als document.getElementByID() aufgerufen werden, und die Variablen last und Last sind zwei völlig verschiedene Dinge.

                So long,
                 Martin

                --
                In Ägypten haben früher 150000 Leute 35 Jahre lang an einer Pyramide gearbeitet. Aber bei uns arbeiten doppelt so viele Leute doppelt so lange allein an der Baugenehmigung.
                  (Dieter Nuhr, deutscher Kabarettist)
                Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
          2. Om nah hoo pez nyeetz, Matthias!

            <span>

            <button id="ttGrafik" type="button" value="close" onClick="JavaScript:Close();" style="background-color:#dddddd;">
                <img id="ttclose" name="close" src="close.jpg" width="12" height="12" border="0" alt="">
              </button>&#160;&#160;
            </span>

              
            Wenn das Bild der button sein soll, könnte das ein Hintergrundbild werden. Das umgebende span-Element ist überflüssig.  
              
            onclick, nicht onClick.  
              
            ~~~html
            <button id="ttGrafik" type="button" value="close" alt="Text, wenn aus irgendwelchen Gründen die Grafik nicht geladen wird" onclick="Close();"></button>  
            
            
            #ttGrafik {  
              background: url(close.jpg) scroll no-repeat 0 0 #dddddd;  
              width: 12px;  
              height: 12px;  
              margin-right: 1em;  
            }  
            
            

            ids sollten nach der Funktion benannt werden (Vielleicht bt_schliessen)

            Matthias

            --
            1/z ist kein Blatt Papier.