Thomas: Hintergrundfarbe IFrame

Hallo,

ich möchte in einem IFrame eine Hintergrundfarbe per Javascript oder wenn das nicht geht direkt setzen. Leider klappt das nicht so wie ich will :-( Wenn ich für den IFrame src="name.html" benutze, kann ich durch setzen von bgcolor="..." in name.html zu einer Hintergrundfarbe kommen. Jedoch möchte ich das im IFrame direkt per JavaScript bei der Einstellung src="" erreichen. Anbei das html-File. Vielleicht kann mir jemand weiterhelfen.

<HTML>
<HEAD>
<TITLE>IFrame Testseite</TITLE>
</HEAD>
<BODY>
<script type="text/javascript">
function ChangeSettings()
{
   // Statuszeile ändern
   var txt="Letzte Aktualisierung: ";
   window.status=txt+document.lastModified;
   // Hintergrundfarbe IFrame ändern
   document.all.MyFrame1.backgroundColor="#336699";
}
</script>
<frameset cols="25%,75%">
  <iframe src="MyFrame1.html"
          name="MyFrame1"
          onload="ChangeSettings();"
          style="backgroundColor:'#336699'; bgcolor:'336699'"
          bgcolor="#336699"
          backgroundcolor="#336699"
          width="25%"
          height="100"
          align="left"
          scrolling="auto"
          frameborder="1">
  <iframe src="MyFrame2.html"
          name="MyFrame2"
          onload="ChangeSettings();"
          style="backgroundColor:#336699"
          width="75%"
          height="100"
          align="right"
          scrolling="no"
          frameborder="1">
</frameset>
</BODY>
</HTML>

  1. Hallo Thomas,

    // Statuszeile ändern

    Warum willst du deine Besucher ärgern?

    document.all.MyFrame1.backgroundColor="#336699";

    document.all solltest du nicht verwenden, lieber getElementById() o.Ä.

    <frameset cols="25%,75%">
    <iframe [...]

    Für IFrames benötigst du kein Frameset. Lies noch einmal http://de.selfhtml.org/html/frames/index.htm ff.

    style="backgroundColor:'#336699'; bgcolor:'336699'"

    Es gibt kein backgroundColor oder bgcolor in CSS, wohl aber background-color. Lasse die ganze Seite sowieso einmal durch einen Validator laufen, es sind noch mehr falsche Attribute vorhanden.

    Du kannst die "Hintergrundfarbe eines Frames" nicht mit CSS ändern. IdR ist es die Fensterfarbe deines Betriebssystems (meistens also weiß) oder browserspezifisch, in der der Frame normal angezeigt wird. Was du aber wie gewohnt mit CSS bestimmen kannst ist die Hintergrudfarbe der Seite, die momentan im (I)Frame angezeigt wird.

    Grüße
      David

    --
    >>Nobody will ever need more than 640k RAM!<<
    1981 Bill Gates
  2. hi,

    ich möchte in einem IFrame eine Hintergrundfarbe per Javascript oder wenn das nicht geht direkt setzen.

    und warum per JS, und nicht "direkt"?

    Leider klappt das nicht so wie ich will :-( Wenn ich für den IFrame src="name.html" benutze, kann ich durch setzen von bgcolor="..." in name.html zu einer Hintergrundfarbe kommen.

    ist doch prima!

    Jedoch möchte ich das im IFrame direkt per JavaScript bei der Einstellung src="" erreichen.

    nochmals: warum?

    Anbei das html-File.

    auweia.

    Vielleicht kann mir jemand weiterhelfen.

    ja, aber du benötigst schon weit vor dem zeitpunkt hilfe, als zu dem, den du dir denkst.

    // Statuszeile ändern
       var txt="Letzte Aktualisierung: ";
       window.status=txt+document.lastModified;

    was soll denn der unfug?
    bitte recherchiere doch mal hier im </archiv/> zum thema "statuszeile beschreiben".

    // Hintergrundfarbe IFrame ändern
       document.all.MyFrame1.backgroundColor="#336699";

    document.all ist IE-only.
    MyFrame1 ist dein iframe - die hintergrundfarbe gehört ab zum in diesem iframe geladenen dokument.

    <frameset cols="25%,75%">
      <iframe src="MyFrame1.html"

    himmel, was soll denn <iframe> unterhalb von <frameset>?
    da gehört <frame> oder ein weiteres <frameset> hin - aber ganz gewiss kein <iframe>.
    http://de.selfhtml.org/html/referenz/elemente.htm#frameset

    name="MyFrame1"
              onload="ChangeSettings();"

    onload hat hier auch wenig verloren - das würde wieder zu dem dokument _im_ iframe gehören.

    style="backgroundColor:'#336699'; bgcolor:'336699'"
              bgcolor="#336699"
              backgroundcolor="#336699"

    weitgehend zwecklos, weil ... s.o.

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you can _think_ about them, before you break 'em."