Ralf: Sehr lange Parameter an Popup übergeben

Hallo,

ich habe das Problem, dass ich sehr umfangreiche Parameter (>4k) an ein PopUp übergeben möchte. Leider ist dies über die URL nicht möglich, weil (beim IE) bei mehr als 4k  ein Fehler kommt.

Da ich überhaupt nicht weiss, wie ich das lösen soll, hier zunächst die vorhandene Umgebung zum Verständnis:

Ich möchte eine von einem fremden Server zur Verfügung gestellte Seite (wird per asp/php erzeugt) "umformatieren", damit sie besser für einen Ausdruck geeignet ist.
Dabei habe ich durchaus "erheblichen" Einfluss auf den Inhalt der erzeugten Seite, die grundsätzlich folgenden Aufbau hat:

<body>
<div>
<meine Daten>
</div>
<div>
<meine Daten>
</div>
</body>

Die Anzahl der DIV ist variabel und der Abschnitt <meine Daten> ist in jeder DIV identisch. Ich kann dort aber grundsätzlich ALLES erzeugen.

Mein erster Ansatz war der Aufruf einer Seite auf meinem Webspace (kein PHP, kein CGI ...) in einem PopUp. Ich habe es auch hinbekommen, den Teil in <meine Daten> so zu programmieren, dass der Aufruf nur einmal erfolgt.
Zunächst dachte ich, dass ich auf die Ursprungsseite mit dem opener Objekt zugreifen könnte, aber da es sich um eine andere Domain handelt, geht das nicht.

Ich muss also die Parameter "aktiv" übergeben. Wie aber soll ich das anstellen, wenn die Seite schon mal 20-30k groß werden kann? Eigentlich wollte ich den kompletten Inhalt vom BODY per document.getElemtsByTagName("body")[0].innerHTML übergeben und das dann einfach per insertAdjacentHTML in einem weiteren PopUp anzeigen und dort "überarbeiten".
Zur Klarstellung: Ich brauche den gesamten Inhalt der Seite.

Das erste Popup benötige ich zur Eingabe von Steuerungsparametern. Es würde natürlich auch ausreichen, wenn ich die eingegeben Parameter wieder an die aufrufende Seite zurückgegeben könnte. Denn das sind maximal 100 Bytes.
Auf jeden Fall brauche ich Javascript in dem Popup und das kann man ja leider nicht per insertAdjacentHTML einfügen.

Hoffentlich habe ich mein Problem verständlich dargestellt und jemand hat eine Idee.

Ralf

  1. Hi!

    Ich möchte eine von einem fremden Server zur Verfügung gestellte Seite (wird per asp/php erzeugt) "umformatieren", damit sie besser für einen Ausdruck geeignet ist.

    Kommen keine CSS-Drucklayouts in Frage?

    Gruß aus Iserlohn

    Martin

    1. Hallo Martin,

      Kommen keine CSS-Drucklayouts in Frage?

      Leider wohl nicht. Es geht darum, dass die optisch untereinanderstehenden DIVs ins Spalten angeordnet werden sollen. Das Ziel ist es, jede DIV auf ein Etikett zu drucken und der Betreiber der Seite hat nur ein einspaltiges Layout vorgesehen (und ist nicht bereit, das zu erweitern).
      Prinzipiell muss ich nur die Positionierung der DIVs abhängig von dem vorhandenen Etikettentyp anpassen. Dabei müssen die Parameter für das Layout der Etiketten frei eingegeben werden können (dafür das PopUp).

      Ralf

  2. Tag Ralf.

    Ich möchte eine von einem fremden Server zur Verfügung gestellte Seite (wird per asp/php erzeugt) "umformatieren", damit sie besser für einen Ausdruck geeignet ist. Dabei habe ich durchaus "erheblichen" Einfluss auf den Inhalt der erzeugten Seite

    Geht dein Einfluss soweit, dass du Javascript-Code darin platzieren kannst? Falls ja, was spricht gegen einen CSS Styleswitcher?

    Die komplette Seite auszulesen und an eine andere Seite per Javascript und GET-Methode zu übergeben halte ich für den absoluten Overkill. Ein möglicher Ansatz wäre vielleicht XMLHttpRequest, wühle dich halt mal durch die zahlreichen Referenzen und Beispiele.

    Siechfred

    --
    Früh übt sich ... (74kB)
    Der schwierigste Blick ist immer der über den Tellerrand -- man glaubt gar nicht, wie hoch so ein Tellerrand sein kann.
    1. Hallo Siechfred,

      Geht dein Einfluss soweit, dass du Javascript-Code darin platzieren kannst?

      Ja.

      Falls ja, was spricht gegen einen CSS Styleswitcher?

      Hab ich mir mal angesehen. Mein Problem liegt aber etwas anders. Ich möchte nicht das "look&feel" der Seite verändern, sondern die Positionierung der einzelnen DIVs. Natürlich muss ich dafür "nur" die entsprechenden style-Angaben ändern, aber dies soll aus Vorgaben erfolgen, die erst _nach_ dem Aufbau der Ursprungsseite zur Verfügung gestellt werden können (ginge theoretisch auch vorher, ist mir aber zu statisch). Dafür könnte ich natürlich auch prompt() benutzen, aber es sind ca. 15 Parameter und speichern möchte ich die Werte auch noch (in einem cookie), damit sie nicht jedes Mal neu eingegeben werden müssen (bzw. nur die geänderten Werte).

      Die eigentliche Problemstellung ist also die dynamische Erfassung von Werten nebst Speicherung derselben beim Aufruf der Hauptseite (die übrigens dynamisch generiert wird).

      Daher habe ich weiter oben noch eine Frage gestellt und mit der Antwort auch mein Problem gelöst bekommen (ist aber wahnsinnig umständlich, so eine komplette HTML-Seite mit einigem JS per document.write in einem anderen Fenster zu plazieren).

      Die komplette Seite auszulesen und an eine andere Seite per Javascript und GET-Methode zu übergeben halte ich für den absoluten Overkill. Ein möglicher Ansatz wäre vielleicht XMLHttpRequest, wühle dich halt mal durch die zahlreichen Referenzen und Beispiele.

      Schaue ich mir mal an, wenn es die Zeit zulässt. Für den Moment reicht mir der umgekehrte Weg, die benötigten Parameter über ein dynamisch erzeugtes Popup einzulesen und an die Ursprungsseite zurückzugeben.
      Ich hatte das ja alles schon fertig auf meinem PC am Laufen, bis ich im Live-Test feststellen musste, dass ein Script auf meinem Webspace keine anderen Seiten auslesen/modifizieren kann - ein dynamisch erzeugtes dagegen schon.

      Trotzdem vielen Dank für die Ideen - ich lerne gern dazu.

      Ralf