Speichern Sie das Dokument, generiert Via javascript

Javascript manipulieren kann das Dokument browser angezeigt werden, so sind die folgenden:

<script>
    document.write("<table><tr><td>Hola</td><td>Adios</td></tr></table>");
</script>

Wird die browser-Anzeige in einer Tabelle gerade so, als ob es das ursprüngliche HTML-Dokument:

<table>
    <tr>
        <td>Hola</td>
        <td>Adios</td>
    </tr>
</table>

Gibt es eine Möglichkeit, ich kann speichern und dienen diesem Dokument Inhalt?

Derzeit haben wir einige schön generiert Berichte mit Ext-js, was ich tun möchte, ist das "text/html" version ( ich meine, etwas, das nicht erfordert javascript )

Also am Ende der Seite würde ich mich fügen Sie eine Schaltfläche : "Speichern unter blaba" und das Dokument angezeigt werden soll der text/plain-version.

Nur so konnte ich glaube, jetzt ist, schreiben Sie den Inhalt in eine javascript-variable wie:

 var content = document.toString(); //or something magic like that.
 //post it to the server

Dann post, dass der Wert an den server, und den server präsentieren, Wert.

 <%=request.getParameter("content-text")%>

Sieht aber sehr knifflig.

Gibt es eine alternative?

BEARBEITEN

Ok, fast hätte ich es bekam. Jetzt brauche ich nur das neue Fenster, um pop-up, so dass die option "möchten Sie es speichern, zeigt"

Dies ist, was ich habe, so weit

<script>
    document.write("<div id='content'><table><tr><td>Hola</td><td>Adios</td></tr></table></div>");
    function saveAs(){
        var sMarkup =  document.getElementById('content').innerHTML; 
        var oNewDoc = document.open('application/vnd.ms-excel');        
        oNewDoc.write( sMarkup + "<hr>" );
        oNewDoc.close();
    }
</script>

<input type="button" value="Save as" onClick="saveAs()"/>

Die Zeile:

    var oNewDoc = document.open('application/vnd.ms-excel');        

Sollten geben Sie den neuen Inhalt geben, aber es wird ignoriert.

InformationsquelleAutor OscarRyz | 2009-09-25

Schreibe einen Kommentar