Elya: JS im Frameset mit document.write

Hallo Forum,
Um einige Defizite bei der Interpretation von CSS zu umgehen, möchte ich in meinem Frameset per Browserweiche Opera und NN4 einen Frame mit leicht veränderten Parametern schenken. (Scrolling betreffend)

Das sieht dann bei mir so aus:

<FRAMESET border="0" frameSpacing="0" rows=*,199,15 frameBorder="0">
   <script language="Javascript" type="text/javascript">
   <!--
if ((navigator.userAgent.indexOf("Opera") > 0;) || (document.layers))
{document.write ('<FRAME name="main" src="pages/main_start.html" noResize scrolling="auto">'); }
else
{document.write ('<FRAME name="main" src="pages/main_start.html" noResize scrolling="no">')}
//-->
</script>
  <entfernt>noch 2 normale Frames </entfernt></FRAMESET>

Der Frame "main" wird dann aber garnicht mehr berücksichtigt. Kann es sein, daß das Objekt "document" im Framset nicht greift? Oder wo ist mein Denkfehler?

Danke für's Anschauen und den einen oder anderen Hinweis!
Gruß aus Ehrenfeld
Elya

  1. Hallo,
    so funktioniert es in der Tat nicht, da Framedefinitionen nur mit onload erkennbar sind.
    mit window.parent.frames[1].src bzw. main.location.href kannst Du die Inhalte des Frames verändern aber erst mit onload.<body onload="setFramesTargets();">
    Desweiteren sollte eine noscript-Anweisung nicht fehlen.
    <noscript>
    <nolayer>
    <!-- Frameset für IE etc.-->
    </nolayer>
    <ilayer width=100% height=100% visibility=show top=0px left=0px frameborder=0 marginwidth=0 scrolling=auto src=NS4Frameset.html></ilayer>
    <noscript>
    <noframes>
    <!-- Links ohne JavaScript-->
    </noframes>

    Noframes ist z.B. für Browser aus dem mobilen Netz und für reine Textbrowser wie Lynx notwendig.

    1. Hallo Michel,
      danke für Deine Antwort!

      mit window.parent.frames[1].src bzw. main.location.href kannst Du die Inhalte des Frames verändern aber erst mit onload.<body onload="setFramesTargets();">

      • das spielt sich aber dann in den einzelnen Dateien des Framesets ab, oder hab ich das falsch verstanden?

      • ich will ja nicht den Frameinhalt ändern, sondern nur die Scrollfähigkeit des Frames verändern. (Wg. Layern mit Autoscroll in der Seite, was NN4 und Opera nicht machen)

      Desweiteren sollte eine noscript-Anweisung nicht fehlen.

      gut, die kommt auf jeden Fall noch rein. noframes hab ich natürlich auch drin, aber was ist mit <nolayer>?

      Vielleicht noch mal eine Erläuterung für Freitagnachmittags-Nichtsversteher?
      Danke,
      Gruß
      Elya