dey: frame height ändern

Servus

Mein problem ist schon ein paar Tage alt und wurde von auch schon angefragt. Leider gab es ca 0 Antworten weil:
[_] die Frage zu leicht war
[_] die Frage zu schwer war
[_] die Frage unwürdig ist
[_] ich die [linl:http://forum.de.selfhtml.org/faq/] nicht ordentlich gelesen habe

Ich möchte gern die Framegrösse beim Laden der Datei an die Datei anpassen; am besten mit <body onload="...."
Ich es habe schon mit der Windowgrösse versucht, das scheint aber sich nur eher zufällig auf die Framegrösse auszuwirken.
Iframes sind nicht möglich.

bydey

  1. Sup!

    Wenn das Frameset erstmal geladen ist, ist es jedenfalls zu spät.
    Was funktionieren könnte, wäre, daß Frameset dynamisch zu schreiben bzw. mit parent.document.open das Frameset neu zu schreiben. Das würde dann allerdings mit hoher Wahrscheinlichkeit etwas flackern, und Du müsstest im Parent-Frameset speichern, welcher Sub-Frame das Frameset zuletzt neu geschrieben hat, weil Du sonst in eine Endlosschleife kommen könntest.
    Ich hoffe, das war irgendwie verständlich...

    Gruesse,

    Bio

    1. Warum ladest du nicht einfach das .html File wo das Frameset geschriebn ist neu?

      1. Servus

        Warum ladest du nicht einfach das .html File wo das Frameset geschriebn ist neu?

        Weil ich dann einen datenbankzugriff 2x neu laden muss. Siehe [pref:t=32386&m=175456]

        bydey

    2. Servus Bio

      Wenn das Frameset erstmal geladen ist, ist es jedenfalls zu spät.

      So ist es leider. Ich möchte mit unterschiedlichen Dummidaten in den Frame springen. In den meisten Fällen soll das Frame leer sein und die Grösse 1px haben.
      Nur wenn ich in dem Frame die Datei datenübertragen.asp ausführe soll das Frame wgen Fehleranalyse und zum Anzeigen der Aktivität Daten enthalten.
      Ich versuche damit das Problem mit der Nachfrage beim Schliessen von Fenster zu umgehen. Ich schliesse es nicht, sondern mache es unsichtbar = klein.

      Was funktionieren könnte, wäre, daß Frameset dynamisch zu schreiben bzw. mit parent.document.open das Frameset neu zu schreiben. Das würde dann allerdings mit hoher Wahrscheinlichkeit etwas flackern, und Du müsstest im Parent-Frameset speichern, welcher Sub-Frame das Frameset zuletzt neu geschrieben hat, weil Du sonst in eine Endlosschleife kommen könntest.
      Ich hoffe, das war irgendwie verständlich...

      Schlecht. Ich müsste jedesmal meine Datenbank im 2. Frame wieder neu laden. 1-mal für den Aufruf der Datenübertragung (Frame 1 wird groos = sichtbar) und danach noch einmal um Frame 1 nach erfolgreicher Datenübertragung verschwinden zu lassen.
      Sonst noch irgendeine schlaue Idee, wie es besser laufen könnte?

      bydey

  2. hi dey

    hab diese frage vor einigen monaten auch mal gestellt und wenn sich seitdem nichts revolutionäres ergeben hat, sieht es wohl so aus als ob es nachträglich nicht möglich ist ein frameset zu verändern.

    allerdings kann es wohl sein das der eine oder andere browser das mehr oder weniger doch unterstützt. die archiv suche liefert dazu u.a. folgendes:

    http://forum.de.selfhtml.org/archiv/2002/11/29745/#m160915
    oder
    http://forum.de.selfhtml.org/archiv/2002/11/29745/#m160915
    oder
    http://forum.de.selfhtml.org/archiv/2002/10/27705/#m150625

    gibt noch mehr zu finden :)

    so long
    ole
    (8-)>

    --
    Buch macht kluch...
    ...meistens ;)
    1. Servus

      Habe bei den Antworten folgendes gefunden:

      document.getElementById(frameid).changeAttribute("col",werte) und
      top.document.getElementById('meinframeset').rows = '100,*'

      Dreht es sich bei frameid und/oder meinframeset jetzt um den Frame oder das Frameset?
      Wenn Framset, kann/ muss ich dem einen Namen geben?????

      bydey

      1. hi

        document.getElementById(frameid).changeAttribute("col",werte) und
        top.document.getElementById('meinframeset').rows = '100,*'

        Dreht es sich bei frameid und/oder meinframeset jetzt um den Frame oder das Frameset?

        ich vermute um das frameset, da ein frame afaik nicht die attribute "col" und "rows" hat, außerdem heißt es ja auch noch "meinframeset" :)

        Wenn Framset, kann/ muss ich dem einen Namen geben?????

        so wies aussieht wird das frameset über die ID angesprochen (getElementById), also braucht dein frameset eine ID :)

        so long
        ole
        (8-)>

        --
        Buch macht kluch...
        ...meistens ;)
  3. Servus

    Mein problem ist schon ein paar Tage alt und wurde von auch schon angefragt. Leider gab es ca 0 Antworten weil:
    [_] die Frage zu leicht war
    [_] die Frage zu schwer war
    [X] die Frage unwürdig ist
    [_] ich die [linl:http://forum.de.selfhtml.org/faq/] nicht ordentlich gelesen habe

    Ich möchte gern die Framegrösse beim Laden der Datei an die Datei anpassen; am besten mit <body onload="...."

    Dein Problem erscheint mir irgendwie sinnlos.
    Du möchtest ein Anzeigefenster für Aktionen, warum öffnest du nicht einfach  eins mit window.open und schliesst es wenn du fertig bist. In deinem Fall würde sogar (wenn ich das richtig verstehe) mit <body onload="self.close();" ..> funktionieren.

    Struppi.

    1. Servus Struppi

      Servus

      Mein problem ist schon ein paar Tage alt und wurde von auch schon angefragt. Leider gab es ca 0 Antworten weil:
      [_] die Frage zu leicht war
      [_] die Frage zu schwer war
      [X] die Frage unwürdig ist
      [_] ich die [linl:http://forum.de.selfhtml.org/faq/] nicht ordentlich gelesen habe

      Plärrrrr, das ist hart

      Ich möchte gern die Framegrösse beim Laden der Datei an die Datei anpassen; am besten mit <body onload="...."

      Dein Problem erscheint mir irgendwie sinnlos.
      Du möchtest ein Anzeigefenster für Aktionen, warum öffnest du nicht einfach  eins mit window.open und schliesst es wenn du fertig bist. In deinem Fall würde sogar (wenn ich das richtig verstehe) mit <body onload="self.close();" ..> funktionieren.

      Habe ich versucht. Ich rufe eine ASP-Seite auf, die meine Form auswertet und an eine DB schickt. Und das macht sie leider nicht, wenn ich sie mit JS anstatt mit action und submit-Button aufrufe.
      Die Diskussion ist ja schon alt und über den Punkt, dass nur JS-geöffnete Fenster kommentarlos zu schliessen bin ich auch gestolpert. Gestestet und für nicht gut befunden. Was allerdings auch an der Qualität meiner ASP-Künste liegen kann!

      bydey

      1. [X] die Frage unwürdig ist

        Plärrrrr, das ist hart

        Ich vergaß: ;-)

        Ich möchte gern die Framegrösse beim Laden der Datei an die Datei anpassen; am besten mit <body onload="...."

        Dein Problem erscheint mir irgendwie sinnlos.
        Du möchtest ein Anzeigefenster für Aktionen, warum öffnest du nicht einfach  eins mit window.open und schliesst es wenn du fertig bist. In deinem Fall würde sogar (wenn ich das richtig verstehe) mit <body onload="self.close();" ..> funktionieren.

        Habe ich versucht. Ich rufe eine ASP-Seite auf, die meine Form auswertet und an eine DB schickt. Und das macht sie leider nicht, wenn ich sie mit JS anstatt mit action und submit-Button aufrufe.

        Ich vermute mal, das Problem ist die Ausgabe des CGI skriptes, die du gerne in einem Fenster hättest.
        Wenn es wenige Daten sind könntest du versuchen eine URL mit den formulardaten zusammenzubasteln und damit das neue Fenster öffnen (und gleichzeitig, dann das Formular aber nicht absenden).

        Die Diskussion ist ja schon alt und über den Punkt, dass nur JS-geöffnete Fenster kommentarlos zu schliessen bin ich auch gestolpert. Gestestet und für nicht gut befunden. Was allerdings auch an der Qualität meiner ASP-Künste liegen kann!

        Nö, glaub ich nicht. ASP (bzw. CGI programmen) ist es egal was im Client passiert, sie nehmen einfachn nur Daten vom Browser entgegen und senden Daten zurück.

        Struppi.

        1. Servus

          [X] die Frage unwürdig ist

          Plärrrrr, das ist hart

          Ich vergaß: ;-)

          Kommt vor

          Ich vermute mal, das Problem ist die Ausgabe des CGI skriptes, die du gerne in einem Fenster hättest.
          Wenn es wenige Daten sind könntest du versuchen eine URL mit den formulardaten zusammenzubasteln und damit das neue Fenster öffnen (und gleichzeitig, dann das Formular aber nicht absenden).

          Keine Ahnung von CGI, aber ich glaube Du hast es falsch verstanden.
          Ach ja, nö es sind ca 100 Felder oder mehr. Also eher viele Daten.

          • Ich lasse versch. Felder einer Tabelle in einer Form ausfüllen
          • via action und submit übergebe ich dann an ASP-Seite in neuem Fenster (html: Ihre Daten werden bearbeitet..blabla)
          • nach bearbeiten und übertragen sollte das Fenster schliessen
          • ohne JS schliesst es kommentarlos nur in IE6 (=bug?!)
          • mit JS schliesst es ganz herlich nur sind keine neuen Daten in der DB

          Deshalb wollte ich anstatt einem neuen Fenster einen Frame verwenden.
          Für ASP Frame gross und sichtbar und für sonstiges (leeres HTML) Frame klein und unsichtbar => kein Fensterschliessen mehr notwendig!

          bydey