qwq12: iframe: jeden Monat mit anderer Datei (new Date)

HAllo.

Ich möchte ein iframe so verselbstständigen, dass es nach einem Monat eine andere Datei anzeigt.
Also soll es
für Mai 2002 die Datei 25.htm anzeigen und
für Juni 2002 die Datei 26.htm anzeigen (zuerst das Jahr und dann der Monat)
So sieht meine Datei aus:
-------------------------
<html><head><title>Home</title></head>
<body><h2>News</h2>
<iframe width="100%" height="50px" scrolling="yes" frameborder=0 topmargin=0 leftmargin=0 marginheight=0 marginwidth=0 src="news/25.htm"></iframe>
</body></html>
--------------------------
Und das habe ich versucht:
--------------------------
<html><head><title>Home</title><script type=text/javascript>
<!--
var jetzt = new Date();
var Jahr = jetzt.getYear();
if(Jahr > 999) Jahr-=2000;
var Monat = jetzt.getMonth();
if(Monat < 11) Monat+=1;
//-->
</script></head>
<body><h2>News</h2>
<iframe width="100%" height="50px" scrolling="yes" frameborder=0 topmargin=0 leftmargin=0 marginheight=0 marginwidth=0 src="news/javascript:document.write(Jahr,Monat);"></iframe>
</body></html>
-------------------
Das hat natürlich nicht geklappt.
Wenn ich einen Link damit mache, <a href='javascript:document.write(Jahr,Monat);'>klick</a>, schreibt er 25.

Im Prinzip kann ich meine Datei auch jeden Monat ändern aber ich fänds schöner, wenns auch so klappen würde.

Vielen Dank schon mal im voraus!

  1. Hallo.

    src="news/javascript:document.write(Jahr,Monat);"

    Das kann nicht funktionieren, javascript: funktioniert nur bei Verweisen und Zeichenketten werden mit einem Plus verknüpft, nicht mit nem Komma.

    <html><head><title>Home</title></head>
    <body><h2>News</h2>
    <script type=text/javascript>
    <!--
    var jetzt = new Date();
    var Jahr = jetzt.getYear();
    if(Jahr > 999) Jahr-=2000;
    var Monat = jetzt.getMonth();
    if(Monat < 11) Monat+=1;
    document.open("text/html");
    document.write("<iframe width="100%" height="50px" scrolling="yes" frameborder="0" topmargin="0" leftmargin="0" marginheight="0" marginwidth="0" src="news/" + Jahr + Monat + ".html"></iframe>")
    document.close();
    //-->
    </script>
    </body></html>

    So geht's, jetzt wird der ganze iframe mit document.write ausgegeben. Alternativ könntest du auch im Nachhinein die Source des iframes ändern (http://selfhtml.teamone.de/javascript/objekte/htmlelemente.htm#iframe).

    Gruß
    Norbert

  2. Hi,

    Das hat natürlich nicht geklappt.

    Das kann ich mir vorstellen. src="news/javascript:document.write(Jahr,Monat);" sieht ja auch arg komisch aus ;)

    Wenn Du in einem Link <a href='javascript:...> angibst, verwendest Du ein Pseudo-Protokoll "JavaScript". Vgl dies mal: <a href='news/http://www.seite.de'> Das würdest Du doch auch nicht machen.

    Ich würde die Sache wie folgt lösen: Weise dem IFrame einen Namen zu (<iframe name="name"...), bastele Dir aus den gewonnen Daten einen kompletten-URL-String zusammen und rufe diesen mit Hilfe von location.href im IFrame auf.

    Im Prinzip kann ich meine Datei auch jeden Monat ändern aber ich fänds schöner, wenns auch so klappen würde.

    Nur schlecht für den, der kein JS hat, oder? Denk mal drüber nach, ob es wirklich sinnvoll ist. Denn eine Seite pro Monat aktualisieren ist doch keine Arbeit...

    Viele Grüße...

    Alex :)