Evil Knievel: xhtml/java-Code auf Chrome lauffähig auf Firefox nicht?

Hallo,

ich bin gerade dabei meine "Homepage" auf xhtml 1.0 Standard zu bringen. Bin aber auf ein Problem gestoßen und zwar habe ich einige Seiten die mittels eines Dropdownmenüs verschiedene Verweise in einem iframe öffnen sollen. In purem html 4.01 (Code unten) ging das auch prima. Nun hatte ich mir die syntaktischen Unterschiede angeschaut und dannach die Änderungen getätigt. Der neue xhtml-Code funktioniert bei mir auf googleChrome auch aber bei Firefox 9.0.1 nicht. Während Chrome die Verweise ausführt, tut das Firefox bei mir nicht es zeigt weiterhin nur die voreingestellte Seite aus dem iframe an. Ich habe gelesen das Firefox sehr streng ist was den Syntax angeht. Deshalb vermute ich, dass ich da noch einen kleinen Fehler drin habe. Leider fand ich in der Forumssuche nichts passendes. Vielleicht habt ihr da mehr Glück.

Achja und ich weiß das iframes veraltet sind. Trotzdem haben sie ihre Berechtigung noch immmer.

Alter html-Code:

  
<html>  
<head>  
</head>  
<body>  
<script type="text/javascript">  
  
<!--//  
  
function goTo(mySelect)  
  
{  
  
PageIndex=mySelect.selectedIndex;  
  
{  
  
if  
  
(  
  
mySelect.options[PageIndex].value != "none"  
  
)  
  
{  
  
frames['iframe'].location.href = mySelect.options[PageIndex].value;  
  
}  
  
}  
  
}  
  
-->  
  
</script>  
  
<form name="form">  
  
<p>  
  
<select name="select" size="1" onchange="goTo(this.form.select)">  
  
<option value="none" selected="selected">Select a page and go</option>  
<option value="1.html">1</option>  
<option value="2.html">2</option>  
  
</select>  
  
</p>  
  
<p>  
  
<iframe name="iframe" src="1.html" align="top" height="100%" width="95%" hspace="10" vspace="10">  
  
If you can see this, your browser does not support iframes!  
  
</iframe>  
  
</p>  
  
</form>  
</body>  
</html>  

Neuer xhtml Code

  
<?xml version="1.0" encoding="UTF-8" ?>  
<!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">  
<head>  
  
<title>TB</title>  
  
<script type="text/javascript">  
<![CDATA[  
  
function goTo(mySelect)  
  
{  
  
PageIndex=mySelect.selectedIndex;  
  
{  
	  
if  
  
(	  
  
mySelect.options[PageIndex].value != "none"  
  
)  
  
{  
  
frames['iframe'].location.href = mySelect.options[PageIndex].value;  
  
}  
  
}  
  
}  
  
]]>  
</script>  
  
</head>  
<body>  
  
<form name="form" action="">  
  
	<select name="select" size="1" onchange="goTo(this.form.select)">  
  
		<option value="none" selected="selected">Select a page and go</option>  
		<option value="1.html">1</option>  
		<option value="2.html">2</option>  
  
	</select>  
  
</form>  
  
<p>  
  
<iframe name="iframe" src="1.html" align="top" height="100%" width="95%" hspace="10" vspace="10">  
  
If you can see this, your browser does not support iframes!  
  
</iframe>  
  
</p>  
  
</body>  
</html>  

  1. Hi,

    Neuer xhtml Code

    <script type="text/javascript">

    <![CDATA[

      
    Syntaxfehler. Gültiger JavaScript-Code ist <![... nicht.  
      
    Lesen bildet: <http://de.selfhtml.org/html/xhtml/unterschiede.htm#script_style>  
    Beachte den Abschnitt "Erläuterung".  
      
    MfG ChrisB  
      
    
    -- 
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    
    1. Hi,

      Neuer xhtml Code

      <script type="text/javascript">

      <![CDATA[

      
      >   
      > Syntaxfehler. Gültiger JavaScript-Code ist <![... nicht.  
      >   
      > Lesen bildet: <http://de.selfhtml.org/html/xhtml/unterschiede.htm#script_style>  
      > Beachte den Abschnitt "Erläuterung".  
      >   
      > MfG ChrisB  
      >   
      >   
        
      Hi,  
        
      danke für den Hinweis, ich habs geändert. Doch leider scheint das nicht das Problem zu sein.  
        
      MfG EK
      
  2. Hi,

    <select name="select" size="1" onchange="goTo(this.form.select)">

    Hm. Du willst das select-Element an goTo übergeben.
    this ist das select-Element.
    Von dem gehst Du zur übergeordneten Form (this.form), um von da aus wieder das Element mit dem Namen select rauszuwühlen (this.form.select).

    Warum machst Du diesen Umweg? Was spricht gegen goTo(this) ?

    <iframe name="iframe" src="1.html" align="top" height="100%" width="95%" hspace="10" vspace="10">
    If you can see this, your browser does not support iframes!

    And you know that the page author did not understand what the content of the iframe element should be used for ...

    (da sollte eher eine Möglichkeit angeboten werden, wie man auch ohne iframe an den Inhalt kommt, nicht irgendein blödsinniger Hinweis auf die Nichtverfügbarkeit von iframe)

    <?xml version="1.0" encoding="UTF-8" ?>

    überflüssig - führt nur dazu, daß es Ärger gibt (z.B. IEs im Quirksmode)

    Daß Deine Navigation von Javascript abhängig ist und damit Suchmaschinen die weiteren Seiten nicht finden und indizieren können, und Dir damit haufenweise Besucher verloren gehen, ist Dir hoffentlich bewußt ...

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
    1. @@MudGuard:

      nuqneH

      <?xml version="1.0" encoding="UTF-8" ?>
      überflüssig - führt nur dazu, daß es Ärger gibt (z.B. IEs im Quirksmode)

      Nicht so überflüssig hingegen ist die Deklaration innerhalb des Dokuments.

      Daß Deine Navigation von Javascript abhängig ist und damit Suchmaschinen die weiteren Seiten nicht finden und indizieren können, und Dir damit haufenweise Besucher verloren gehen, ist Dir hoffentlich bewußt ...

      Darauf ein Alt. YY

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
    2. Warum machst Du diesen Umweg? Was spricht gegen goTo(this) ?

      Nichts ist geändert ;) Danke für die Verbesserung.

      Daß Deine Navigation von Javascript abhängig ist und damit Suchmaschinen die weiteren Seiten nicht finden und indizieren können, und Dir damit haufenweise Besucher verloren gehen, ist Dir hoffentlich bewußt ...

      Ja, es ist eine Plattform in einem Intranet, von daher kein Problem.

      INFO: Habe das eben nochmal getestet an verschiedenen Computern.
      2x Computer mit Firefox = Die Verweise hatten KEINE Funktion
      1x Computer mit Safari = Die Verweise hatten eine Funktion

      Ich schätze das Problem liegt an den MIME-Typen von Firefox da ein einfaches Umbenennen der index.xhtml --> index.html (trotz allen xhtml Angaben) die Datei zum Leben erweckt hat. Aber von verstehen bin ich noch etwas entfernt.

      So laut "http://de.selfhtml.org/html/xhtml/unterschiede.htm#dateinamen" habe ich zwei Möglichkeiten ich schreibe ein xhtml konformes Dokument und speichere diese als .html oder .htm ab. Der Browser wird einfach mit dem MIME-Type "text/html" (Fehlertolerant) oder ich speichere es als .xhtml ab und er wird "application/xml" (Fehlerintolerant) benutzen. Aber wo ist da an meiner Datei etwas nicht xhtml konform? Und warum zeigen andere Browser dieses anstandslos auch mit .xhtml an? Oder bin ich auf dem Holzweg?

      Für eure Hilfe wäre ich sehr dankbar.

      MfG EK

      MfG EK

      1. schönes Beispiel für bedeutungstragende Satzzeichen!

        Warum machst Du diesen Umweg? Was spricht gegen goTo(this) ?

        Nichts ist geändert ;) Danke für die Verbesserung.

        Keine Änderung, trotzdem aber eine Verbesserung?
        *kopfkratz*
        denke, denke, denke...
        Ah, er meint: "Nichts! Ist geändert."

        Satzzeichen können Leben retten!

        Komm wir essen Opa

        1. Ich möchte, ihnen ihr Beispiel nicht zerstören. Aber in diesen Satz (Nichts ist geändert.) gehören nicht zwangsweise weitere Satzzeichen.

          klärendes Komma

          Ist geändert.

          Dies ist kein Satz. Es fehlt das Subjekt (Nichts).

          Wer anderen eine Grube gräbt, fällt selbst hinein. Auch wenn es nicht so gemeint war.

          MfG EK