javascript - 保存javascript生成的文档

标签 javascript document client-side server-side html-generation

Javascript 可以操纵浏览器正在显示的文档,因此如下:

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

将使浏览器显示一个表格,就像它是原始 HTML 文档一样:

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

有什么方法可以保存/提供此文档内容?

目前我们有一些使用 Ext-js 生成的很好的报告,我想做的是拥有它的“文本/html”版本(我的意思是,不需要 javascript 的东西)

所以在页面的末尾我会添加一个按钮:“另存为 blaba”并且文档应该显示文本/纯文本版本。

我现在唯一能想到的方法是,将内容写入一个 javascript 变量,例如:

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

然后将该值发送到服务器,并让服务器呈现该值。

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

但看起来很棘手。

还有其他选择吗?

编辑

好的,我差不多明白了。现在我只需要弹出新窗口,这样选项“你想保存它显示吗”

这就是我目前所得到的

<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()"/>

行:

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

应该指定新的内容类型,但它被忽略了。

最佳答案

除非使用 File -> Save Page As... 将其保存在客户端,否则您将必须按照您的建议进行操作,发布 $('body').html () 到您的服务器并将其作为文本处理。

关于javascript - 保存javascript生成的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1479020/

相关文章:

javascript - 构建 js/ajax 网络应用程序 : separating structure and content in dynamic web form

google-apps-script - 我可以自动将标题文本添加到 Google 文档文件的页脚吗?

session - session 和本地(仅限客户端)集合有什么区别?

javascript - $http数据,类型错误: Cannot call method slice of undefined

javascript - 单页应用程序 : advantages and disadvantages

javascript - 将 2 个脚本合并到 1 个文件中

c# - 将正则表达式从 .NET 转换为 javascript 时出错

javascript - 制作此 Flash Action 的 CSS 副本——灰色图片和悬停时弹出的元素

jquery - jquery 中文档就绪到底意味着什么

swift - 基于文档的 Swift 应用程序中看似黑暗的 Cocoa 绑定(bind)艺术