Michael: iframe + (i)layer

Hi zusammen,

ich frage mich, warum folgendes Skript im IE4,IE5 und NN4 funzt, aber im NN6 nicht? Hat wer ne Idee?

function create()
{
 if (document.layers)
 {
  document.write('<layer id="content" left="140" width="795" top="90" height="490"></layer>');
 }
 if (document.all || document.getElementById)
 {
  document.write('<iframe id="content" width="795" height="490"></iframe>');
 }
}

function change(seite,id)
{
 if (document.layers)
 {
  document.layers[id].src = seite;
 }
 if (document.all)
 {
  document.all[id].src = seite;
 }
 if (!document.all && document.getElementById)
 {
  document.getElementById[id].src = seite;
 }
}

Gruss
Michael

  1. Sorry, zur Vollständigkeit noch die Aufrufe aus der Hauptseite:

    <script language="JavaScript">
     create()
    </script>

    <a href="javascript:change('f3s1.html','content')">Seite 1</a>

    Gruss
    Michael

  2. document.write('<iframe id="content" width="795" height="490">HIER IRGENDWAS REINSCHREIBEN</iframe>');                           ^^^^
    ^^^^^^^^^^^^^^^^^^^^^^^^
    =>sieht eh keiner,aber der browser frists.

    mfg michi

  3. Hallo Michael!

    document.write('<layer id="content" left="140" width="795" top="90" height="490"></layer>');

    document.write('<layer id="content" left="140" width="795" top="90" height="490"></layer>');

    </  muss im scriptbereich als </ escaped werden

    document.write('<iframe id="content" width="795" height="490"></iframe>');

    ^
    dito: ...</iframe>

    document.getElementById[id].src = seite;

    ^  ^

    Das ist eine Funktion, kein Array:

    document.getElementById(id).src = seite;

    Gruss,
     Carsten

    1. Hallo Carsten!

      das mit den [] war ja auch zu blöd von mir. Naja, lauter Bäume, aber wo ist der Wald? :-) Jetzt klappt's natürlich.
      Vielen Dank an Dich. (*korkenknall!)

      Noch ne Frage zum Escapen:
      Warum genau muss man das?
      Muss man's auch, wenn die Funktion wie hier in einer js-Datei liegt, die per src="" eingebunden wird? Bisher habe ich's nämlich nie gemacht und es hat trotzdem gefunzt?

      Gruss
      Michael