Wie stellen Sie eine dynamische oder generierten HTML-Seite gespeichert werden?
Ich bin noch ein bisschen neu dojo, javascript-und HTML-Programmierung. Ich erbte das Eigentum einer HTML-Seite, die programmiert dojo 1.4.2 (wird das Upgrade in der Zukunft), und javascript. Im wesentlichen die HTML-Seite enthält ein Formular, das anfangs dem Benutzer angezeigt. Nachdem der Benutzer das Formular ausfüllt und abschickt, es ist die form, ersetzt generated content basierend auf Ihren Antworten.
Erfolgt dies über die Antworten in form zu offenbaren oder verstecken verschiedenen div-Elementen, die schon enthalten sind in der HTML-Datei. Also das Formular ausgeblendet wird und eine Teilmenge der anderen div-Elemente enthüllt werden.
Möchten wir diese Seite generiert werden, gespeichert werden, die der Nutzer als eine statische HTML-Seite. Also im Grunde genommen wollen wir speichern nur den angezeigten divs zu der Datei, anstatt die gesamte Seite. Derzeit sichern nur speichert eine lokale Kopie, die erfordern würde, die ein Benutzer zu re-submit der form auf die jeweilige Ansicht.
Mir wurde gesagt, dies könnte geschehen durch die Weitergabe der Daten an einen Dienst (möglicherweise eine JSP), die behandeln würden, diese und übergeben Sie zurück an den browser. Aber ich bin nicht vertraut mit diesem und nicht in der Lage zu finden, die alle Beispiele. Gibt es eine Möglichkeit, dies zu tun, und hat jemand irgendwelche Beispiele oder Dokumentation, ich könnte hingewiesen werden?
Im Idealfall würde ich gerne einfügen die Schaltfläche speichern speichert die generierten Inhalte im browser angezeigt, ohne tatsächlich die Schaffung einer statischen HTML-Code, der bleibt auf dem server.
Vielen Dank im Voraus.
- Ist der Inhalt nur in der Formular-Elemente (Input), oder aktualisieren Sie DIVs/Überspannt (andere HTML-Elemente) als gut?
- Es sind Formular-Elemente, die ursprünglich im oberen Bereich des HTML-aber sobald Sie auf die Schaltfläche senden. Die "generiert" werden Inhalte angezeigt, ist nichts anderes als DIVs/Spannweiten, etc an der Unterseite der HTML-Seite, die enthüllt werden, durch die Aktualisierung der Stil.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnten Sie die Einführung eines Mechanismus, der änderungen an der Seite nach URL-Parameter (d.h. den Inhalt des geparsten query string).
I. e. bei Angabe einer URL mit einem query-Teil (z.B. http://your.site.com/path/to/page?p1=true&p2=true) die
Element
s zugeordnet p1 oder p2 zeigen würde, andere würden es nicht.Wie wäre es mit einem bookmarklet so?
Es funktioniert durch den Zugriff auf die HTML-Darstellung der aktuellen DOM, und leitet dann zu einer neue Seite, gebaut von HTML-markup mit dem Data-URI-Schema.
Die neue Seite kann leicht gespeichert werden, mit Ihrem browser regelmäßig speichern Menü-item. Beachten Sie, dass relative URLs nicht überleben, diese transformation, so dass die gespeicherte Seite kann verlieren Ihre stylesheet/script/Bild-Referenzen.
Können Sie das flash-plugin herunterladen, um dynamisch erstellte Daten. Ich schrieb ein kleines Skript hier dass der trick funktioniert.
Hier ist ein Beispiel des Skripts.
Einfach die drei Dinge, die in dist, wo immer Ihr auch andere javascript-Dateien sind. Gehören die
swfobject.js
undbhd.js
Skripte in den Kopf. Einige html-wie dies in den Körper:<div id="dl_button"></div>
Laden der Seite, führen Sie ein Skript wie dieses:
Ihre "Tasten.png" muss wie folgt Aussehen (ein sprite mit 3 Staaten layed out vertikal):
Wenn alles richtig ausgeführt wurde, ein Klick auf die Schaltfläche soll der Benutzer aufgefordert, downloaden Sie eine Kopie des aktuellen Status der Seite.
Etwas wie jQuery, es ist einfach, alle gerenderten HTML-Inhalt:
Besteht das problem, dass Sie möchten, speichern Sie die Seite, die nicht so leicht in JavaScript, aufgrund von browser-Sicherheitsbeschränkungen, die verhindern, dass der browser Zugriff auf das lokale Datei-system.
Internet Explorer ist möglicherweise eine Ausnahme, wenn die Verwendung des ActiveX-oder execCommand (http://4umi.com/web/javascript/filewrite.php). Andernfalls müssen Sie einige Drittanbieter-tool/Plug-in (wie Flash) als GGG hingewiesen hat.