ello: was ist hier falsch??

  
  
<html>  
<head>  
<title>Atelier f&uuml;r Werbung und Design Reiner Kamp</title>  
<meta name="author" content="ello">  
<link rel="stylesheet" type="text/css" href="daten/styles.css">  
<style type="text/css">  
<!--  
body {  
 scrollbar-3dlight-color:#fff;  
 scrollbar-arrow-color:#fff;  
 scrollbar-darkshadow-color:#fff;  
}  
-->  
</style>  
<script language="JavaScript">  
<!--  
//window.moveTo(0,0);  
//window.resizeTo(screen.availWidth,screen.availHeight);  
  
function zentrieren() {  
  
 document.getElementById('mainframe').style.position='absolute';  
 document.getElementById('mainframe').style.top=(document.body.offsetHeight-313)/2;  
 document.getElementById('mainframe').style.left=(document.body.offsetWidth-606)/2;  
 if(document.getElementById('mainframe').src=="leer.html") {  
  document.getElementById('mainframe').src="intro.html";  
 }  
}  
window.onresize=zentrieren;  
  
//-->  
</script>  
</head>  
<body onLoad="zentrieren()">  
<center>  
<iframe src="leer.html" width=606 height=513 scrolling=no frameborder=0 id="mainframe">  
</body>  
</html>  
  

alles wunderbar mit InternetExplorer, aber absolut garnix beim FireFox... warum??

  1. Hallo ello!

    Wird das jetzt heiteres Fehlerraten?

    Bitte definiere wunderbar und gar nix.

    Schönen Gruß

    Afra

    1. also ich hab jetzt mal die tips berücksichtigt:

        
      <html>  
      <head>  
      <title>Atelier f&uuml;r Werbung und Design Reiner Kamp</title>  
      <link rel="stylesheet" type="text/css" href="daten/styles.css">  
      <style type="text/css">  
      <!--  
      body {  
       scrollbar-3dlight-color:#fff;  
       scrollbar-arrow-color:#fff;  
       scrollbar-darkshadow-color:#fff;  
      }  
      -->  
      </style>  
      <script language="JavaScript" type="text/JavaScript">  
      <!--  
      //window.moveTo(0,0);  
      //window.resizeTo(screen.availWidth,screen.availHeight);  
        
      function zentrieren() {  
        
       document.getElementById('mainframe').style.position='absolute';  
       document.getElementById('mainframe').style.top=(document.body.offsetHeight-313)/2;  
       document.getElementById('mainframe').style.left=(document.body.offsetWidth-606)/2;  
       if(document.getElementById('mainframe').src=="leer.html") {  
        document.getElementById('mainframe').src="intro.html";  
       }  
      }  
      window.onresize=zentrieren;  
        
      //-->  
      </script>  
      </head>  
      <body onLoad="zentrieren()">  
      <center>  
      <iframe src="intro.html" width="606" height="513" scrolling="no" frameborder="0" id="mainframe"><br>  
      </iframe>  
      </center>  
      </body>  
        
      </html>  
      
      

      trotzdem wird beim FireFox immernoch nur ne leere Seite angezeigt. Wobei das Anzeigen des Quelltextes funktioniert. Aber auch wenn ich im iframe als src="intro.html" setze ändert das nix.

      Wie gesagt. im IE wird das intro angezeigt.
      Ich hab erst "leer.html" drinne damit das beim zentrieren nicht so komisch aussieht.

      1. Hallo,

        also ich hab jetzt mal die tips berücksichtigt:

        function zentrieren() {

        //Kontrollausgabe: Was steht in document.getElementById('mainframe').src?
        alert(document.getElementById('mainframe').src);

        document.getElementById('mainframe').style.position='absolute';
        document.getElementById('mainframe').style.top=(document.body.offsetHeight-313)/2;
        document.getElementById('mainframe').style.left=(document.body.offsetWidth-606)/2;
        if(document.getElementById('mainframe').src=="leer.html") {

        ^Im FireFox ist IFRAME.src _nicht_ gleich Ressource-Name, siehe oben.

        Tipp1:
        Beschäftige Dich mit http://de.selfhtml.org/javascript/objekte/string.htm#index_of und http://de.selfhtml.org/javascript/objekte/string.htm#substring.

        Tipp2: (mein Favorit)
        Verabschiede Dich von der Idee dieses _nur_ mit JavaScript funktionierenden Intros. Verabschiede Dich aber _in jedem Fall_ von der Idee des window.moveto und window.resizeto.

        viele Grüße

        Axel

      2. Hallo ello!

        Weshalb setzt du mittels CSS nicht direkt iFrame zentriert in die Seite und machst dagegen diese hässliche onload Geschichte? Hierzu findest Du im Archiv sehr viele Infos: http://suche.de.selfhtml.org/ Suchabfrage _zentrieren_. Weshalb hast Du keinen Alternativtext für Browser welche keine iFrames darstellen können?

        Schönen Gruß

        Afra

  2. alles wunderbar mit InternetExplorer, aber absolut garnix beim FireFox... warum??

    Weil vieles falsch ist...

    MfG Hopsel

    1. 你好 Hopsel,

      alles wunderbar mit InternetExplorer, aber absolut garnix beim FireFox... warum??

      Weil vieles falsch ist...

      Super Antwort, toll gemacht. *tses*

      再见,
      克里斯蒂安

      --
      Willst du die Freuden dieser Welt geniessen, so musst du auch ihr Leid erdulden.
  3. Hallo ello,

    erste Hilfe:

    Doctype fehlt

    <html>
    <head>
    <title>Atelier f&uuml;r Werbung und Design Reiner Kamp</title>
    <meta name="author" content="ello">

    M.E. sinnlos

    <link rel="stylesheet" type="text/css" href="daten/styles.css">
    <style type="text/css">
    <!--
    body {
    scrollbar-3dlight-color:#fff;
    scrollbar-arrow-color:#fff;
    scrollbar-darkshadow-color:#fff;

    Wird nur im IE angezeigt

    }
    -->
    </style>
    <script language="JavaScript">

    type-Attribut fehlt

    <!--
    //window.moveTo(0,0);
    //window.resizeTo(screen.availWidth,screen.availHeight);

    function zentrieren() {

    document.getElementById('mainframe').style.position='absolute';
    document.getElementById('mainframe').style.top=(document.body.offsetHeight-313)/2;
    document.getElementById('mainframe').style.left=(document.body.offsetWidth-606)/2;
    if(document.getElementById('mainframe').src=="leer.html") {
      document.getElementById('mainframe').src="intro.html";
    }
    }
    window.onresize=zentrieren;
    //-->
    </script>

    Sonst habe ich keine Ahnung von JS. Sorry.

    </head>
    <body onLoad="zentrieren()">
    <center>

    nicht mehr zeitgemäß

    <iframe src="leer.html" width=606 height=513 scrolling=no frameborder=0 id="mainframe">

    Attributwerte in Hochkommata("") einschließen.

    </center> -> wieder schließen.

    </body>
    </html>

    [/code]

    Mit freundlichen Grüßen

    André

    1. Hallo Ello,
      unter anderem sind die von beschriebenen Fehler von André im Quelltext.

      Was ich am JS-Script nicht verstehe ist z.B. die Zeile

      window.onresize=zentrieren;

      Was bezweckt die?

      MfG Hopsel

      1. Hallo Hopsel!

        es wird onresize (Bei Änderung der Fenstergröße) die Funktion zentrieren ausgeführt. Ob das jetzt sinnvoll oder nicht ist bleibt dann mal dahingestellt ;o)

        Schönen Gruß

        Afra

        1. fehlen da nicht die Klammern () ?

          MfG Hopsel

          1. Hallo!

            fehlen da nicht die Klammern () ?

            Nein.

            Schönen Gruß

            Afra

            1. Hi,

              Nein.

              wieso nicht? ^^

              MfG Hopsel

              1. Hallo Hopsel!

                Selbst SelfHTML lässt sich darüber nicht aus.

                http://de.selfhtml.org/javascript/beispiele/fensterueberwachen.htm

                Erklärungen gibt es aber sicherlich. Mit geht es auf jeden Fall nicht.

                Schönen Gruß

                Afra

                1. Erklärungen gibt es aber sicherlich. Mit geht es auf jeden Fall nicht.

                  Ja, ein versuch hatte ich mal gestartet (ist aber nicht umsonst unter der Rubrik Experiemente)
                  http://javascript.jstruebig.de/exp/events.html

                  Struppi.

          2. Hallo,

            fehlen da nicht die Klammern () ?

            Nein. Die Funktion zentrieren() soll hier ja nicht aufgerufen werden, sondern der _Bezeichner_ der Funktion zentrieren() wird dem Eventhandler window.onresize zugewiesen. Tritt dieses Ereignis (resize) ein, dann wird normalerweise eine anonyme (namenlose) Funktion aufgerufen, die den %script-Code ausführt, den der Eventhandler übergibt. Diese Funktion ist nach der Wertzuweisung nicht mehr anonym, sondern entspricht der Funktion zentrieren().

            Die vollständige Schreibweise, mit anonymer Funktion, wäre

            window.onresize = function() { zentrieren(); };

            viele Grüße

            Axel

            1. Dankeschön.

              War ja mal interessant. Zum Glück brauche ich JS nicht so oft ^^

              MfG Hopsel

  4. Hallo,

    <iframe src="leer.html" width=606 height=513 scrolling=no frameborder=0 id="mainframe">
    </body>
    </html>

    Der End-Tag des IFRAME-Elements ist _nicht_ optional. http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.3.3 http://www.w3.org/TR/html4/present/frames.html#h-16.5

    <!ELEMENT IFRAME - - (%flow;)*         -- inline subwindow -->

    viele Grüße

    Axel

  5. Also ich hab jetzt ein wenig rumgetestet und es muß am Javascript liegen. Habe ich da irgendwelche Objekte verwendet, die FireFox nicht interpretiert??

    1. Tag ello.

      Also ich hab jetzt ein wenig rumgetestet und es muß am Javascript liegen. Habe ich da irgendwelche Objekte verwendet, die FireFox nicht interpretiert??

      Ja, Firefox hält sich bei der Verwendung des style-Objektes (Javascript) an die Regeln, die für die jeweils angesprochene Eigenschaft (CSS) gelten. Hiernach muss für eine Positionierungsangabe eine Einheit angegeben werden:

      document.getElementById('mainframe').style.top=(document.body.offsetHeight-313)/2 + 'px';
      document.getElementById('mainframe').style.left=(document.body.offsetWidth-606)/2 + 'px';

      Siechfred

      --
      «Ich liebe euch doch alle!»
      1. Hallo,

        Ja, Firefox hält sich bei der Verwendung des style-Objektes (Javascript) an die Regeln, die für die jeweils angesprochene Eigenschaft (CSS) gelten. Hiernach muss für eine Positionierungsangabe eine Einheit angegeben werden:

        Das habe ich auch geglaubt, bis ich in https://forum.selfhtml.org/?t=103136&m=634782 erkennen musste, dass dies auch dem Firefox im Quirks-Mode egal ist.

        viele Grüße

        Axel